summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--rationales.txt2
-rw-r--r--src/window.c15
3 files changed, 11 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 92891c6..2cb97a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 0000000..9deec45
--- /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 80f9b6b..416f52f 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);