Bugfix: partly revert f3880928, client->workspace was not updated (Thanks msi)

next
Michael Stapelberg 2009-09-29 01:07:51 +02:00
parent bfd704c523
commit 095de9eaab
1 changed files with 8 additions and 10 deletions

View File

@ -141,21 +141,19 @@ void toggle_floating_mode(xcb_connection_t *conn, Client *client, bool automatic
*
*/
void floating_assign_to_workspace(Client *client, Workspace *new_workspace) {
Workspace *ws = client->workspace;
/* Remove from focus stack and list of floating clients */
SLIST_REMOVE(&(ws->focus_stack), client, Client, focus_clients);
TAILQ_REMOVE(&(ws->floating_clients), client, floating_clients);
SLIST_REMOVE(&(client->workspace->focus_stack), client, Client, focus_clients);
TAILQ_REMOVE(&(client->workspace->floating_clients), client, floating_clients);
if (ws->fullscreen_client == client)
ws->fullscreen_client = NULL;
if (client->workspace->fullscreen_client == client)
client->workspace->fullscreen_client = NULL;
/* Insert into destination focus stack and list of floating clients */
ws = new_workspace;
SLIST_INSERT_HEAD(&(ws->focus_stack), client, focus_clients);
TAILQ_INSERT_TAIL(&(ws->floating_clients), client, floating_clients);
client->workspace = new_workspace;
SLIST_INSERT_HEAD(&(client->workspace->focus_stack), client, focus_clients);
TAILQ_INSERT_TAIL(&(client->workspace->floating_clients), client, floating_clients);
if (client->fullscreen)
ws->fullscreen_client = client;
client->workspace->fullscreen_client = client;
}
/*