summaryrefslogtreecommitdiff
path: root/gdk/gdkevents.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1998-12-16 20:09:30 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-12-16 20:09:30 +0000
commitfcfe7370d8a9ac7b169282418e4f2bc58e6d9eb4 (patch)
treeb1629251195a04377d72cbb49a90af3db3c18afb /gdk/gdkevents.c
parent0dcdac5828bfb039f0a35be2d21fd6b3b8750d4c (diff)
downloadgtk+-fcfe7370d8a9ac7b169282418e4f2bc58e6d9eb4.tar.gz
Move main thread lock back to GDK - we need it there for locking when
Wed Dec 16 13:06:17 1998 Owen Taylor <otaylor@redhat.com> * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main thread lock back to GDK - we need it there for locking when translating events. Rename things appropriately. Wed Dec 16 11:44:21 1998 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo. CVS:
Diffstat (limited to 'gdk/gdkevents.c')
-rw-r--r--gdk/gdkevents.c28
1 files changed, 25 insertions, 3 deletions
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 8ddf913da7..1c1ebc0ad4 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -1891,20 +1891,36 @@ gdk_event_prepare (gpointer source_data,
GTimeVal *current_time,
gint *timeout)
{
+ gboolean retval;
+
+ GDK_THREADS_ENTER ();
+
*timeout = -1;
gdk_events_queue ();
- return (queued_events || putback_events);
+ retval = (queued_events || putback_events);
+
+ GDK_THREADS_LEAVE ();
+
+ return retval;
}
static gboolean
gdk_event_check (gpointer source_data,
GTimeVal *current_time)
{
+ gboolean retval;
+
+ GDK_THREADS_ENTER ();
+
if (event_poll_fd.revents & G_IO_IN)
gdk_events_queue ();
- return (queued_events || putback_events);
+ retval = (queued_events || putback_events);
+
+ GDK_THREADS_LEAVE ();
+
+ return retval;
}
static GdkEvent *
@@ -1942,7 +1958,11 @@ gdk_event_dispatch (gpointer source_data,
GTimeVal *current_time,
gpointer user_data)
{
- GdkEvent *event = gdk_event_unqueue();
+ GdkEvent *event;
+
+ GDK_THREADS_ENTER ();
+
+ event = gdk_event_unqueue();
if (event)
{
@@ -1952,6 +1972,8 @@ gdk_event_dispatch (gpointer source_data,
gdk_event_free (event);
}
+ GDK_THREADS_LEAVE ();
+
return TRUE;
}