summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorRichard Hult <richard@imendio.com>2008-04-30 17:46:00 +0000
committerRichard Hult <rhult@src.gnome.org>2008-04-30 17:46:00 +0000
commitca9a6075e6d68e8fdd64968eb01f2e4f2e4aa06c (patch)
tree6cd046929ff5dada817eecbc3ea56b739b0bf45d /gdk
parent49f341f12cd5f5bc833e13e8b0c8e615907ed512 (diff)
downloadgtk+-ca9a6075e6d68e8fdd64968eb01f2e4f2e4aa06c.tar.gz
Don't send nsevents with the gdk lock held, fixes deadlock when doing
2008-04-30 Richard Hult <richard@imendio.com> * gdk/quartz/gdkevents-quartz.c: (_gdk_events_queue): Don't send nsevents with the gdk lock held, fixes deadlock when doing manual window resizing with threading enabled. svn path=/trunk/; revision=20055
Diffstat (limited to 'gdk')
-rw-r--r--gdk/quartz/gdkevents-quartz.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
index 01b95ff415..61a42bff8e 100644
--- a/gdk/quartz/gdkevents-quartz.c
+++ b/gdk/quartz/gdkevents-quartz.c
@@ -1948,7 +1948,11 @@ _gdk_events_queue (GdkDisplay *display)
if (event)
{
if (!gdk_event_translate (event))
- [NSApp sendEvent:event];
+ {
+ GDK_THREADS_LEAVE ();
+ [NSApp sendEvent:event];
+ GDK_THREADS_ENTER ();
+ }
_gdk_quartz_event_loop_release_event (event);
}