summaryrefslogtreecommitdiff
path: root/gtk/gtkcombo.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-05-14 19:15:46 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-05-14 19:15:46 +0000
commit44859f939cd1f6113d877d42ab141245cb68d275 (patch)
treefd94387b9bc3ef3faafecbdd7d7fdde0dc82cf9b /gtk/gtkcombo.c
parentba2a16d3b19656e5cc950ec99f4dca0d9107be61 (diff)
downloadgdk-pixbuf-44859f939cd1f6113d877d42ab141245cb68d275.tar.gz
Try adding a #ifndef/#define for XkbKeySymEntry to make up for OSF broken
Tue May 14 15:09:33 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkkeys-x11.c: Try adding a #ifndef/#define for XkbKeySymEntry to make up for OSF broken XKB extension. (#77819, Gareth Pearce) * gtk/gtklayout.c: Clamp the upper values in response to ::size-allocate if necessary. (#81290, Christophe Saout) * gtk/gtkcombo.c (gtk_combo_entry_focus_out): Handle combo being destroyed before idle fires. (#81396, Timo Sirainen)
Diffstat (limited to 'gtk/gtkcombo.c')
-rw-r--r--gtk/gtkcombo.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk/gtkcombo.c b/gtk/gtkcombo.c
index c7e2ed3dd..a425d9800 100644
--- a/gtk/gtkcombo.c
+++ b/gtk/gtkcombo.c
@@ -383,6 +383,8 @@ gtk_combo_entry_focus_out (GtkEntry * entry, GdkEventFocus * event, GtkCombo * c
if (combo->value_in_list && !gtk_combo_find (combo))
{
+ GSource *focus_idle;
+
/* gdk_beep(); *//* this can be annoying */
if (combo->ok_if_empty && !strcmp (gtk_entry_get_text (entry), ""))
return FALSE;
@@ -395,7 +397,12 @@ gtk_combo_entry_focus_out (GtkEntry * entry, GdkEventFocus * event, GtkCombo * c
so the focus can be lost anyway...
the signal_emit_stop doesn't seem to work either...
*/
- gtk_idle_add ((GtkFunction) gtk_combo_focus_idle, combo);
+ focus_idle = g_idle_source_new ();
+ g_source_set_closure (focus_idle,
+ g_cclosure_new_object (G_CALLBACK (gtk_combo_focus_idle),
+ G_OBJECT (combo)));
+ g_source_attach (focus_idle, NULL);
+
/*gtk_signal_emit_stop_by_name (GTK_OBJECT (entry), "focus_out_event"); */
return TRUE;
}