diff options
author | Owen Taylor <otaylor@redhat.com> | 1998-12-16 20:09:30 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-12-16 20:09:30 +0000 |
commit | fcfe7370d8a9ac7b169282418e4f2bc58e6d9eb4 (patch) | |
tree | b1629251195a04377d72cbb49a90af3db3c18afb /gdk/gdkevents.c | |
parent | 0dcdac5828bfb039f0a35be2d21fd6b3b8750d4c (diff) | |
download | gtk+-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.c | 28 |
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; } |