diff options
author | Matthias Clasen <mclasen@redhat.com> | 2004-08-30 13:16:39 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-08-30 13:16:39 +0000 |
commit | 5210bf17c62537212857cbcf96d26e84dd4d8666 (patch) | |
tree | fa4bf5ebfda4efc57679f7abfbec04d597b6f3be /gtk/gtkcombobox.c | |
parent | 729aaa06e9a2fd19f87bba06746e346f0d5da5d8 (diff) | |
download | gtk+-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.c | 24 |
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; } |