summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan@xfce.org>2012-07-18 22:30:36 +0200
committerOlivier Fourdan <ofourdan@redhat.com>2012-07-19 09:46:21 +0200
commit0003144fdff6f3508b604103065512eb839ab838 (patch)
tree4195fdd53e19cf6db4026e36113eab070018e21a
parentf09ea920648d4414c747d390d7cfb2aed230c1e7 (diff)
downloadxfwm4-0003144fdff6f3508b604103065512eb839ab838.tar.gz
Revert part of git commit 8637c3a as this breaks deletetion
of current workspace (bug 8827)
-rw-r--r--src/workspaces.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/workspaces.c b/src/workspaces.c
index fb19ab0ea..f57eec9da 100644
--- a/src/workspaces.c
+++ b/src/workspaces.c
@@ -492,7 +492,8 @@ workspaceInsert (ScreenInfo * screen_info, guint position)
void
workspaceDelete (ScreenInfo * screen_info, guint position)
{
- guint count;
+ Client *c;
+ guint i, count;
g_return_if_fail (screen_info != NULL);
@@ -504,6 +505,14 @@ workspaceDelete (ScreenInfo * screen_info, guint position)
return;
}
+ for (c = screen_info->clients, i = 0; i < screen_info->client_count; c = c->next, i++)
+ {
+ if (c->win_workspace > position)
+ {
+ clientSetWorkspace (c, c->win_workspace - 1, TRUE);
+ }
+ }
+
workspaceSetCount(screen_info, count - 1);
}