Don't focus ancestor window on a different workspace
When we are moving a window with a modal dialog to a different workspace, meta_workspace_focus_default_window() can be called with 'not_this_one' being the focused modal dialog. Since the ancestor of that window is also being moved, we must not focus it as an alternative to the current window; this will cause windows to be moved back and Metacity to get into an inconsistent confused state. https://bugzilla.redhat.com/show_bug.cgi?id=237158 https://bugzilla.gnome.org/show_bug.cgi?id=598995
This commit is contained in:
parent
12c46c5d8b
commit
88ee4c5b30
@ -1303,7 +1303,10 @@ focus_ancestor_or_mru_window (MetaWorkspace *workspace,
|
|||||||
MetaWindow *ancestor;
|
MetaWindow *ancestor;
|
||||||
ancestor = NULL;
|
ancestor = NULL;
|
||||||
meta_window_foreach_ancestor (not_this_one, record_ancestor, &ancestor);
|
meta_window_foreach_ancestor (not_this_one, record_ancestor, &ancestor);
|
||||||
if (ancestor != NULL)
|
if (ancestor != NULL &&
|
||||||
|
(ancestor->on_all_workspaces ||
|
||||||
|
ancestor->workspace == workspace) &&
|
||||||
|
meta_window_showing_on_its_workspace (ancestor))
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focusing %s, ancestor of %s\n",
|
"Focusing %s, ancestor of %s\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user