Bugfix: Correctly initialize workspaces for floating clients, too

This commit is contained in:
Michael Stapelberg 2009-09-12 18:18:41 +02:00
parent 98dbee72ac
commit 51cb9a2cf3
1 changed files with 7 additions and 12 deletions

View File

@ -511,18 +511,13 @@ static void move_floating_window_to_workspace(xcb_connection_t *conn, Client *cl
LOG("moving floating\n"); LOG("moving floating\n");
if (t_ws->screen == NULL) { workspace_initialize(t_ws, container->workspace->screen);
LOG("initializing new workspace, setting num to %d\n", workspace-1);
t_ws->screen = c_ws->screen; /* Check if there is already a fullscreen client on the destination workspace and
/* Copy the dimensions from the virtual screen */ * stop moving if so. */
memcpy(&(t_ws->rect), &(t_ws->screen->rect), sizeof(Rect)); if (client->fullscreen && (t_ws->fullscreen_client != NULL)) {
} else { LOG("Not moving: Fullscreen client already existing on destination workspace.\n");
/* Check if there is already a fullscreen client on the destination workspace and return;
* stop moving if so. */
if (client->fullscreen && (t_ws->fullscreen_client != NULL)) {
LOG("Not moving: Fullscreen client already existing on destination workspace.\n");
return;
}
} }
floating_assign_to_workspace(client, t_ws); floating_assign_to_workspace(client, t_ws);