diff options
author | Richard Hult <richard@imendio.com> | 2008-04-30 17:46:00 +0000 |
---|---|---|
committer | Richard Hult <rhult@src.gnome.org> | 2008-04-30 17:46:00 +0000 |
commit | ca9a6075e6d68e8fdd64968eb01f2e4f2e4aa06c (patch) | |
tree | 6cd046929ff5dada817eecbc3ea56b739b0bf45d /gdk | |
parent | 49f341f12cd5f5bc833e13e8b0c8e615907ed512 (diff) | |
download | gtk+-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.c | 6 |
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); } |