mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 23:50:41 -05:00
window: don't grab server during calc_showing
This grab was added in commit caf43a123f
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
This commit is contained in:
parent
477acddf64
commit
02426c50cb
@ -2254,7 +2254,6 @@ idle_calc_showing (gpointer data)
|
|||||||
GSList *should_hide;
|
GSList *should_hide;
|
||||||
GSList *unplaced;
|
GSList *unplaced;
|
||||||
GSList *displays;
|
GSList *displays;
|
||||||
MetaWindow *first_window;
|
|
||||||
guint queue_index = GPOINTER_TO_INT (data);
|
guint queue_index = GPOINTER_TO_INT (data);
|
||||||
|
|
||||||
g_return_val_if_fail (queue_pending[queue_index] != NULL, FALSE);
|
g_return_val_if_fail (queue_pending[queue_index] != NULL, FALSE);
|
||||||
@ -2307,10 +2306,6 @@ idle_calc_showing (gpointer data)
|
|||||||
should_show = g_slist_sort (should_show, stackcmp);
|
should_show = g_slist_sort (should_show, stackcmp);
|
||||||
should_show = g_slist_reverse (should_show);
|
should_show = g_slist_reverse (should_show);
|
||||||
|
|
||||||
first_window = copy->data;
|
|
||||||
|
|
||||||
meta_display_grab (first_window->display);
|
|
||||||
|
|
||||||
tmp = unplaced;
|
tmp = unplaced;
|
||||||
while (tmp != NULL)
|
while (tmp != NULL)
|
||||||
{
|
{
|
||||||
@ -2383,8 +2378,6 @@ idle_calc_showing (gpointer data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_display_ungrab (first_window->display);
|
|
||||||
|
|
||||||
g_slist_free (copy);
|
g_slist_free (copy);
|
||||||
|
|
||||||
g_slist_free (unplaced);
|
g_slist_free (unplaced);
|
||||||
|
Loading…
Reference in New Issue
Block a user