window: Re-evaluate window visibility when making it transient

In case a window is hidden when we're ordered to make it transient to
a different parent we must re-evaluate its visibility status or we'll
get into an inconsistent state where the parent is visible and the
child isn't.

https://bugzilla.gnome.org/show_bug.cgi?id=759297
This commit is contained in:
Rui Matos 2016-01-06 17:11:19 +01:00
parent 88acfb8e60
commit 3a2cd3389a

View File

@ -7435,7 +7435,7 @@ meta_window_set_transient_for (MetaWindow *window,
meta_window_group_leader_changed (window); meta_window_group_leader_changed (window);
if (!window->constructing && !window->override_redirect) if (!window->constructing && !window->override_redirect)
meta_window_queue (window, META_QUEUE_MOVE_RESIZE); meta_window_queue (window, META_QUEUE_MOVE_RESIZE | META_QUEUE_CALC_SHOWING);
if (meta_window_appears_focused (window) && window->transient_for != NULL) if (meta_window_appears_focused (window) && window->transient_for != NULL)
meta_window_propagate_focus_appearance (window, TRUE); meta_window_propagate_focus_appearance (window, TRUE);