summaryrefslogtreecommitdiff
path: root/gtk/gtkcombobox.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-08-30 13:16:39 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-08-30 13:16:39 +0000
commit5210bf17c62537212857cbcf96d26e84dd4d8666 (patch)
treefa4bf5ebfda4efc57679f7abfbec04d597b6f3be /gtk/gtkcombobox.c
parent729aaa06e9a2fd19f87bba06746e346f0d5da5d8 (diff)
downloadgtk+-5210bf17c62537212857cbcf96d26e84dd4d8666.tar.gz
Make it compile.
2004-08-30 Matthias Clasen <mclasen@redhat.com> * gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): Make it compile. 2004-08-27 Matthias Clasen <mclasen@redhat.com> Fix #151112, Olexiy Avramchenko: * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): * gtk/gtkiconview.c (scroll_timeout, layout_callback) (gtk_icon_view_item_accessible_idle_do_action): * gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle) (popup_idle): Protect idle callbacks and timeouts with GDK_THREADS_ENTER/_LEAVE. * gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to call update_dialog() from an idle with the necessary protection.
Diffstat (limited to 'gtk/gtkcombobox.c')
-rw-r--r--gtk/gtkcombobox.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index 0636b94883..a5fb88f4fb 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -2706,9 +2706,13 @@ gtk_combo_box_model_row_changed (GtkTreeModel *model,
static gboolean
list_popup_resize_idle (gpointer user_data)
{
- GtkComboBox *combo_box = GTK_COMBO_BOX (user_data);
+ GtkComboBox *combo_box;
gint x, y, width, height;
+ GDK_THREADS_ENTER ();
+
+ combo_box = GTK_COMBO_BOX (user_data);
+
if (combo_box->priv->tree_view &&
GTK_WIDGET_MAPPED (combo_box->priv->popup_window))
{
@@ -2718,6 +2722,8 @@ list_popup_resize_idle (gpointer user_data)
gtk_window_move (GTK_WINDOW (combo_box->priv->popup_window), x, y);
}
+ GDK_THREADS_LEAVE ();
+
return FALSE;
}
@@ -4718,13 +4724,19 @@ gtk_cell_editable_key_press (GtkWidget *widget,
static gboolean
popdown_idle (gpointer data)
{
- GtkComboBox *combo_box = GTK_COMBO_BOX (data);
+ GtkComboBox *combo_box;
+
+ GDK_THREADS_ENTER ();
+
+ combo_box = GTK_COMBO_BOX (data);
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box));
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box));
g_object_unref (combo_box);
+ GDK_THREADS_LEAVE ();
+
return FALSE;
}
@@ -4738,7 +4750,11 @@ popdown_handler (GtkWidget *widget,
static gboolean
popup_idle (gpointer data)
{
- GtkComboBox *combo_box = GTK_COMBO_BOX (data);
+ GtkComboBox *combo_box;
+
+ GDK_THREADS_ENTER ();
+
+ combo_box = GTK_COMBO_BOX (data);
if (GTK_IS_MENU (combo_box->priv->popup_widget) &&
combo_box->priv->cell_view)
@@ -4750,6 +4766,8 @@ popup_idle (gpointer data)
combo_box->priv->editing_canceled = TRUE;
gtk_combo_box_popup (combo_box);
+ GDK_THREADS_LEAVE ();
+
return FALSE;
}