summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArvind Samptur <arvind.samptur@wipro.com>2002-10-04 14:49:00 +0000
committerArvind Samptur <arvind@src.gnome.org>2002-10-04 14:49:00 +0000
commit038814990423d88ac4638acfbac2547990f029d0 (patch)
tree5e602f0ea3be4076c99df419b8a91539ca0d5e61
parent7b0cd87838b790394c2168234559ba0cf15dfe0b (diff)
downloadmetacity-038814990423d88ac4638acfbac2547990f029d0.tar.gz
metacity-038814990423d88ac4638acfbac2547990f029d0.tar.bz2
call meta_window_unstick before adding window to workspace.
2002-10-04 Arvind Samptur <arvind.samptur@wipro.com> * src/window.c (meta_window_change_workspace): call meta_window_unstick before adding window to workspace. (menu_callback): call meta_workspace_activate before meta_window_change_workspace. This would avoid us running an extra loop for determining the window workspace list. Patches from Jeyasudha and Arvind. Fixes #92575
-rw-r--r--ChangeLog8
-rw-r--r--src/window.c13
2 files changed, 16 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 8230dbb..9acae0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-10-04 Arvind Samptur <arvind.samptur@wipro.com>
+ * src/window.c (meta_window_change_workspace): call meta_window_unstick
+ before adding window to workspace.
+ (menu_callback): call meta_workspace_activate before meta_window_change_workspace.
+ This would avoid us running an extra loop for determining the window workspace list.
+
+ Patches from Jeyasudha and Arvind. Fixes #92575
+
2002-10-03 Havoc Pennington <hp@pobox.com>
* src/themes/Esco/metacity-theme-1.xml: only specify the
diff --git a/src/window.c b/src/window.c
index b538ec7..df31951 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2899,13 +2899,16 @@ meta_window_change_workspace (MetaWindow *window,
meta_verbose ("Changing window %s to workspace %d\n",
window->desc, meta_workspace_index (workspace));
+ /* unstick if stuck. meta_window_unstick would call
+ * meta_window_change_workspace recursively if the window
+ * is not in the active workspace.
+ */
+ if (window->on_all_workspaces)
+ meta_window_unstick (window);
+
/* See if we're already on this space. If not, make sure we are */
if (g_list_find (window->workspaces, workspace) == NULL)
meta_workspace_add_window (workspace, window);
-
- /* unstick if stuck */
- if (window->on_all_workspaces)
- meta_window_unstick (window);
/* Remove from all other spaces */
next = window->workspaces;
@@ -5919,9 +5922,9 @@ menu_callback (MetaWindowMenu *menu,
if (workspace)
{
+ meta_workspace_activate (workspace);
meta_window_change_workspace (window,
workspace);
- meta_workspace_activate (workspace);
meta_window_raise (window);
}
else