]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Unset global fullscreen clients from all workspaces (Thanks Sasha)
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 30 Mar 2010 09:56:39 +0000 (11:56 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 30 Mar 2010 09:56:39 +0000 (11:56 +0200)
src/handlers.c

index d9fa0d2d48ad1e2db99688aa5742620b43203000..a173777ca990ed2db10d4107d680cc38b66e4ea0 100644 (file)
@@ -486,9 +486,14 @@ int handle_unmap_notify_event(void *data, xcb_connection_t *conn, xcb_unmap_noti
 
         client = table_remove(&by_child, event->window);
 
-        /* If this was the fullscreen client, we need to unset it */
-        if (client->fullscreen)
-                client->workspace->fullscreen_client = NULL;
+        /* If this was the fullscreen client, we need to unset it from all
+         * workspaces it was on (global fullscreen) */
+        if (client->fullscreen) {
+                Workspace *ws;
+                TAILQ_FOREACH(ws, workspaces, workspaces)
+                        if (ws->fullscreen_client == client)
+                                ws->fullscreen_client = NULL;
+        }
 
         /* Clients without a container are either floating or dock windows */
         if (client->container != NULL) {