diff options
author | Daniel Drake <drake@endlessm.com> | 2014-01-07 10:12:31 -0600 |
---|---|---|
committer | Daniel Drake <drake@endlessm.com> | 2014-01-07 14:27:24 -0600 |
commit | a5f0db5ecb98f967e31ff337e4c81b2dc597e2cc (patch) | |
tree | 53a89506752078227dbae67a433789865cb9a946 | |
parent | 577624adefc73d8f724a9e7319ac8087d9bae825 (diff) | |
download | mutter-a5f0db5ecb98f967e31ff337e4c81b2dc597e2cc.tar.gz |
window: don't grab server during calc_showing
This grab was added in commit caf43a123f40d3a68599ac5453a79759b828e8f0
https://bugzilla.gnome.org/show_bug.cgi?id=381127
to minimize window flickering when switching workspaces.
While this grab is held, some signals are emitted to the shell,
which can lead to deadlocks (reproduced under Mali binary OpenGLESv2
drivers).
Now that we are a compositing window manager, we do not have to
worry about flickers, this grab should no longer be necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=721709
-rw-r--r-- | src/core/window.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/src/core/window.c b/src/core/window.c index 5739367de..1ff6e0e3d 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -2398,7 +2398,6 @@ idle_calc_showing (gpointer data) GSList *should_hide; GSList *unplaced; GSList *displays; - MetaWindow *first_window; guint queue_index = GPOINTER_TO_INT (data); g_return_val_if_fail (queue_pending[queue_index] != NULL, FALSE); @@ -2451,10 +2450,6 @@ idle_calc_showing (gpointer data) should_show = g_slist_sort (should_show, stackcmp); should_show = g_slist_reverse (should_show); - first_window = copy->data; - - meta_display_grab (first_window->display); - tmp = unplaced; while (tmp != NULL) { @@ -2527,8 +2522,6 @@ idle_calc_showing (gpointer data) } } - meta_display_ungrab (first_window->display); - g_slist_free (copy); g_slist_free (unplaced); |