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
This commit is contained in:
Arvind Samptur 2002-10-04 14:49:00 +00:00 committed by Arvind Samptur
parent 7b0cd87838
commit 0388149904
2 changed files with 16 additions and 5 deletions

View File

@ -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

View File

@ -2899,14 +2899,17 @@ 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;
while (next != NULL)
@ -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