summaryrefslogtreecommitdiff
path: root/gtk/gtkaccellabel.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1998-12-15 07:32:11 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-12-15 07:32:11 +0000
commita0c84d6818f278d273b43c651c345f2110bc7f37 (patch)
treecb07d50ab001a4538983c1d0421bcd69d9618cbf /gtk/gtkaccellabel.c
parent58475f05a54f7a165fe92adf8358f59cf0223c08 (diff)
downloadgtk+-a0c84d6818f278d273b43c651c345f2110bc7f37.tar.gz
Commented out testthreads from the build process, since we won't have any
Tue Dec 15 01:38:53 1998 Owen Taylor <otaylor@redhat.com> * 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.
Diffstat (limited to 'gtk/gtkaccellabel.c')
-rw-r--r--gtk/gtkaccellabel.c16
1 files changed, 15 insertions, 1 deletions
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)
{