diff options
author | Havoc Pennington <hp@pobox.com> | 2002-06-18 01:41:08 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2002-06-18 01:41:08 +0000 |
commit | 6cda7d0b11942166a3cbbf50803bff616cb38afd (patch) | |
tree | 0d9c8730d009d2135f1472e4d21d4497dadd6d16 | |
parent | c7a72aeed3484ab4977fdcb4245b2020469e3652 (diff) | |
download | metacity-6cda7d0b11942166a3cbbf50803bff616cb38afd.tar.gz |
fix from Gaute Lindkvist #82977 for unsticking windows
2002-06-17 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_change_workspace): fix from Gaute
Lindkvist #82977 for unsticking windows
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | rationales.txt | 2 | ||||
-rw-r--r-- | src/window.c | 15 |
3 files changed, 11 insertions, 11 deletions
@@ -1,3 +1,8 @@ +2002-06-17 Havoc Pennington <hp@pobox.com> + + * src/window.c (meta_window_change_workspace): fix from Gaute + Lindkvist #82977 for unsticking windows + 2002-06-17 Frederic Crozat <fcrozat@mandrakesoft.com> * src/metacity.schemas.in: associate close_window keybinding to diff --git a/rationales.txt b/rationales.txt new file mode 100644 index 00000000..9deec45b --- /dev/null +++ b/rationales.txt @@ -0,0 +1,2 @@ + +Focus windows on map: see http://bugzilla.gnome.org/show_bug.cgi?id=82921 diff --git a/src/window.c b/src/window.c index 80f9b6b3..416f52f8 100644 --- a/src/window.c +++ b/src/window.c @@ -2737,21 +2737,14 @@ meta_window_change_workspace (MetaWindow *window, meta_verbose ("Changing window %s to workspace %d\n", window->desc, meta_workspace_index (workspace)); - /* See if we're already on this space */ - if (g_list_find (window->workspaces, workspace) != NULL) + /* See if we're already on this space. If not, make sure we are */ + if (g_list_find (window->workspaces, workspace) == NULL) { - meta_verbose ("%s already on this workspace\n", window->desc); - return; + meta_workspace_add_window (workspace, window); } - - /* Add first, to maintain invariant that we're always - * on some workspace. - */ - meta_workspace_add_window (workspace, window); - /* unstick if stuck */ if (window->on_all_workspaces) - window->on_all_workspaces = FALSE; + meta_window_unstick (window); /* Lamely rely on prepend */ g_assert (window->workspaces->data == workspace); |