diff options
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r-- | sway/tree/container.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c index c4d21f0a..89a47151 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c | |||
@@ -1378,10 +1378,12 @@ void container_replace(struct sway_container *container, | |||
1378 | struct sway_container *replacement) { | 1378 | struct sway_container *replacement) { |
1379 | enum sway_fullscreen_mode fullscreen = container->fullscreen_mode; | 1379 | enum sway_fullscreen_mode fullscreen = container->fullscreen_mode; |
1380 | bool scratchpad = container->scratchpad; | 1380 | bool scratchpad = container->scratchpad; |
1381 | struct sway_workspace *ws = NULL; | ||
1381 | if (fullscreen != FULLSCREEN_NONE) { | 1382 | if (fullscreen != FULLSCREEN_NONE) { |
1382 | container_fullscreen_disable(container); | 1383 | container_fullscreen_disable(container); |
1383 | } | 1384 | } |
1384 | if (scratchpad) { | 1385 | if (scratchpad) { |
1386 | ws = container->workspace; | ||
1385 | root_scratchpad_show(container); | 1387 | root_scratchpad_show(container); |
1386 | root_scratchpad_remove_container(container); | 1388 | root_scratchpad_remove_container(container); |
1387 | } | 1389 | } |
@@ -1390,7 +1392,7 @@ void container_replace(struct sway_container *container, | |||
1390 | container_detach(container); | 1392 | container_detach(container); |
1391 | } | 1393 | } |
1392 | if (scratchpad) { | 1394 | if (scratchpad) { |
1393 | root_scratchpad_add_container(replacement); | 1395 | root_scratchpad_add_container(replacement, ws); |
1394 | } | 1396 | } |
1395 | switch (fullscreen) { | 1397 | switch (fullscreen) { |
1396 | case FULLSCREEN_WORKSPACE: | 1398 | case FULLSCREEN_WORKSPACE: |