From a0c84d6818f278d273b43c651c345f2110bc7f37 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Tue, 15 Dec 1998 07:32:11 +0000 Subject: Commented out testthreads from the build process, since we won't have any Tue Dec 15 01:38:53 1998 Owen Taylor * gtk/Makefile.am: Commented out testthreads from the build process, since we won't have any idea how to create a thread. * configure.in (LIBS): use glib-config ... gthread so we always build a thread-compatible library. * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c: Add GTK_THREADS_ENTER/LEAVE pairs around timeouts and idles to account for the fact that they are no longer called within the GTK+ lock. * gtk/gtkprivate.h: Added definitions for locking the main GTK+ mutex. * gtk/gtkmain.c: Re-implement the main loop in terms of the GLib main loop. * gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading functionality, as it seems better to subsume GDK within the GTK+ lock than vice-versa. * gdk/gdkevents.c: New file, containing event handling bits from gdk.c. * gdk/gdkevents.c: Implement event source for GDK events. * configure.in gdk/gdkevents.c: Removed attempts to subtract base_id, which were already non-functional. --- gtk/gtkaccellabel.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gtk/gtkaccellabel.c') diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index e546d4c0b6..be6650dadb 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -24,6 +24,7 @@ #include "gtkmain.h" #include "gtksignal.h" #include "gtkaccellabel.h" +#include "gtkprivate.h" enum { @@ -45,6 +46,7 @@ static void gtk_accel_label_size_request (GtkWidget *widget, GtkRequisition *requisition); static gint gtk_accel_label_expose_event (GtkWidget *widget, GdkEventExpose *event); +static gboolean gtk_accel_label_refetch_idle (GtkAccelLabel *accel_label); static GtkAccelLabelClass *accel_label_class = NULL; static GtkLabelClass *parent_class = NULL; @@ -304,7 +306,7 @@ gtk_accel_label_queue_refetch (GtkAccelLabel *accel_label) if (accel_label->queue_id == 0) accel_label->queue_id = gtk_idle_add_priority (GTK_PRIORITY_HIGH - 2, - (GtkFunction) gtk_accel_label_refetch, + (GtkFunction) gtk_accel_label_refetch_idle, accel_label); } @@ -347,6 +349,18 @@ gtk_accel_label_set_accel_widget (GtkAccelLabel *accel_label, } } +static gboolean +gtk_accel_label_refetch_idle (GtkAccelLabel *accel_label) +{ + gboolean retval; + + GTK_THREADS_ENTER; + retval = gtk_accel_label_refetch (accel_label); + GTK_THREADS_LEAVE; + + return retval; +} + gboolean gtk_accel_label_refetch (GtkAccelLabel *accel_label) { -- cgit v1.2.1