]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Remove/add floating clients to workspace->floating_clients when moving to...
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 23 Jun 2009 21:17:06 +0000 (23:17 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 23 Jun 2009 21:17:06 +0000 (23:17 +0200)
src/commands.c

index 084a388e63c4fd081b559eaf0b187b82caff1e00..8b088793129b49c3568c7308fc36b1084739f30c 100644 (file)
@@ -452,15 +452,17 @@ static void move_floating_window_to_workspace(xcb_connection_t *conn, Client *cl
                 }
         }
 
-        /* Remove from focus stack */
+        /* Remove from focus stack and list of floating clients */
         SLIST_REMOVE(&(client->workspace->focus_stack), client, Client, focus_clients);
+        TAILQ_REMOVE(&(client->workspace->floating_clients), client, floating_clients);
 
         if (client->workspace->fullscreen_client == client)
                 client->workspace->fullscreen_client = NULL;
 
-        /* Insert into destination focus stack */
+        /* Insert into destination focus stack and list of floating clients */
         client->workspace = t_ws;
         SLIST_INSERT_HEAD(&(t_ws->focus_stack), client, focus_clients);
+        TAILQ_INSERT_TAIL(&(t_ws->floating_clients), client, floating_clients);
         if (client->fullscreen)
                 t_ws->fullscreen_client = client;