summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-04-21 21:47:53 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-04-21 21:47:53 +0000
commitc4ed9dc78c5b3523f5893c60bcef276eb36e7e72 (patch)
tree8ab598b687b12baf499881ff3ddadcbbe19619bc
parent8d30ad28380432c6af894fa397b16ff86896bcd1 (diff)
downloadgtk+-c4ed9dc78c5b3523f5893c60bcef276eb36e7e72.tar.gz
Don't call gtk_tree_view_scroll_to_cell() on an empty tree view. It
2004-04-21 Matthias Clasen <mclasen@redhat.com> * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Don't call gtk_tree_view_scroll_to_cell() on an empty tree view. It doesn't like that. (#140642, Christian Persch)
-rw-r--r--ChangeLog4
-rw-r--r--ChangeLog.pre-2-104
-rw-r--r--ChangeLog.pre-2-44
-rw-r--r--ChangeLog.pre-2-64
-rw-r--r--ChangeLog.pre-2-84
-rw-r--r--gtk/gtkentrycompletion.c17
6 files changed, 30 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index f92166f3e0..bbe27c0f65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
+ Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
+ It doesn't like that. (#140642, Christian Persch)
+
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index f92166f3e0..bbe27c0f65 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,5 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
+ Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
+ It doesn't like that. (#140642, Christian Persch)
+
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index f92166f3e0..bbe27c0f65 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,5 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
+ Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
+ It doesn't like that. (#140642, Christian Persch)
+
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index f92166f3e0..bbe27c0f65 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,5 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
+ Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
+ It doesn't like that. (#140642, Christian Persch)
+
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index f92166f3e0..bbe27c0f65 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,5 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
+ Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
+ It doesn't like that. (#140642, Christian Persch)
+
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index 34fcb7a696..680ab815b1 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -1098,7 +1098,7 @@ gboolean
_gtk_entry_completion_resize_popup (GtkEntryCompletion *completion)
{
gint x, y;
- gint items, height, x_border, y_border;
+ gint matches, items, height, x_border, y_border;
GdkScreen *screen;
gint monitor_num;
GdkRectangle monitor;
@@ -1112,9 +1112,9 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion)
x += x_border;
y += 2 * y_border;
- items = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->filter_model), NULL);
+ matches = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->filter_model), NULL);
- items = MIN (items, 15);
+ items = MIN (matches, 15);
gtk_tree_view_column_cell_get_size (completion->priv->column, NULL,
NULL, NULL, NULL, &height);
@@ -1164,17 +1164,20 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion)
{
y += height;
above = FALSE;
- path = gtk_tree_path_new_from_indices (0, -1);
}
else
{
y -= popup_req.height;
above = TRUE;
- path = gtk_tree_path_new_from_indices (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->filter_model), NULL) - 1, -1);
}
- gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (completion->priv->tree_view), path, NULL, FALSE, 0.0, 0.0);
- gtk_tree_path_free (path);
+ if (matches > 0)
+ {
+ path = gtk_tree_path_new_from_indices (above ? matches - 1 : 0, -1);
+ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (completion->priv->tree_view), path,
+ NULL, FALSE, 0.0, 0.0);
+ gtk_tree_path_free (path);
+ }
gtk_window_move (GTK_WINDOW (completion->priv->popup_window), x, y);