[mutter] Don't focus ancestor window on a different workspace
- From: Owen Taylor <otaylor src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [mutter] Don't focus ancestor window on a different workspace
- Date: Thu, 11 Feb 2010 18:07:22 +0000 (UTC)
commit 88ee4c5b30448320fe3bb7bebf071281a5f40e6e
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Mon Oct 19 18:43:00 2009 -0400
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
src/core/workspace.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/src/core/workspace.c b/src/core/workspace.c
index d68cde8..e80ab8b 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -1303,7 +1303,10 @@ focus_ancestor_or_mru_window (MetaWorkspace *workspace,
MetaWindow *ancestor;
ancestor = NULL;
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,
"Focusing %s, ancestor of %s\n",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]