Stijn Hoop) - Add patches for GNOME bugs 445447 - Application-induced window raise fails when raise_on_click off (rhbz 526045) 530702 - compiz doesn't start if metacity compositor is enabled (rhbz 537791) 559816 - Doesn't update keybindings being disabled/cleared (rhbz 532282) 567528 - Cannot raise windows from applications in Tcl/Tk and Java (rhbz 503522) 577576 - Failed to read saved session file warning on new sessions (rhbz 493245) 598231 - When Chromium rings the bell, metacity quits(rhbz 532282) 598995 - Don't focus ancestor window on a different workspace (rhbz 237158) 599097 - For mouse and sloppy focus, return to "mouse mode" on motion (rhbz 530261) 599248 - Add no_focus_windows preference to list windows that shouldn't be focused (rhbz 530262) 599261 - Add a new_windows_always_on_top preference (rhbz 530263) 599262 - Add XFCE Terminal as a terminal 604319 - XIOError unknown display (rhbz 537845)
39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
From a17fb47e08257d09e1e795e8114b21b134b1f3c2 Mon Sep 17 00:00:00 2001
|
|
From: Owen W. Taylor <otaylor@fishsoup.net>
|
|
Date: Mon, 19 Oct 2009 18:43:00 -0400
|
|
Subject: [PATCH] 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 a0170a6..92993a7 100644
|
|
--- a/src/core/workspace.c
|
|
+++ b/src/core/workspace.c
|
|
@@ -969,7 +969,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",
|
|
--
|
|
1.6.5.rc2
|