summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2005-08-22 14:28:17 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2005-08-22 14:28:17 +0000
commitbd80abab9f749698ad034aa2a3b313ac62344b9c (patch)
treeaa0250263d4d35f4fe2e190243e34db41d7eb246
parent1efc5c274344136ec6696c3aaa29f9ff08a1b8d1 (diff)
downloadgdk-pixbuf-bd80abab9f749698ad034aa2a3b313ac62344b9c.tar.gz
Backport from 2.8.GTK_2_6_10_WIN32_20050823
2005-08-22 Matthias Clasen <mclasen@redhat.com> Backport from 2.8. * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup a possible resize idle. (#311141, Robert Ögren)
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.pre-2-107
-rw-r--r--ChangeLog.pre-2-87
-rw-r--r--gtk/gtkcombobox.c13
4 files changed, 33 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 683bd1859..9303dda23 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-22 Matthias Clasen <mclasen@redhat.com>
+
+ Backport from 2.8.
+
+ * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup
+ a possible resize idle. (#311141, Robert Ögren)
+
2005-08-18 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 683bd1859..9303dda23 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,10 @@
+2005-08-22 Matthias Clasen <mclasen@redhat.com>
+
+ Backport from 2.8.
+
+ * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup
+ a possible resize idle. (#311141, Robert Ögren)
+
2005-08-18 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 683bd1859..9303dda23 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,10 @@
+2005-08-22 Matthias Clasen <mclasen@redhat.com>
+
+ Backport from 2.8.
+
+ * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup
+ a possible resize idle. (#311141, Robert Ögren)
+
2005-08-18 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index defe560be..d82858726 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -103,6 +103,7 @@ struct _GtkComboBoxPrivate
guint changed_id;
guint popup_idle_id;
guint scroll_timer;
+ guint resize_idle_id;
gint width;
GSList *cells;
@@ -2852,6 +2853,8 @@ list_popup_resize_idle (gpointer user_data)
gtk_window_move (GTK_WINDOW (combo_box->priv->popup_window), x, y);
}
+ combo_box->priv->resize_idle_id = 0;
+
GDK_THREADS_LEAVE ();
return FALSE;
@@ -2860,7 +2863,9 @@ list_popup_resize_idle (gpointer user_data)
static void
gtk_combo_box_list_popup_resize (GtkComboBox *combo_box)
{
- g_idle_add (list_popup_resize_idle, combo_box);
+ if (!combo_box->priv->resize_idle_id)
+ combo_box->priv->resize_idle_id =
+ g_idle_add (list_popup_resize_idle, combo_box);
}
static void
@@ -3330,6 +3335,12 @@ gtk_combo_box_list_destroy (GtkComboBox *combo_box)
combo_box->priv->scroll_timer = 0;
}
+ if (combo_box->priv->resize_idle_id)
+ {
+ g_source_remove (combo_box->priv->resize_idle_id);
+ combo_box->priv->resize_idle_id = 0;
+ }
+
gtk_widget_destroy (combo_box->priv->tree_view);
combo_box->priv->tree_view = NULL;