summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-07-23 13:25:47 -0500
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-07-23 13:28:15 -0500
commitb04c73be3de62d2739b5bb85e40f0c9af1122903 (patch)
treeafd087a4dc4845caf064d0b086ee9b8319317158
parent8cdb9971264adfdc35777b5a9935c2e4c47eea9f (diff)
make sure we do not create a double fullscreen_bg
and also make sure we do not destroy it if it does not exist Fixes: #274
-rw-r--r--dwl.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/dwl.c b/dwl.c
index 35c72f0..7886b64 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1879,14 +1879,19 @@ setfullscreen(Client *c, int fullscreen)
*
* For brevity we set a black background for all clients
*/
- c->fullscreen_bg = wlr_scene_rect_create(c->scene,
- c->geom.width, c->geom.height, fullscreen_bg);
- wlr_scene_node_lower_to_bottom(&c->fullscreen_bg->node);
+ if (!c->fullscreen_bg) {
+ c->fullscreen_bg = wlr_scene_rect_create(c->scene,
+ c->geom.width, c->geom.height, fullscreen_bg);
+ wlr_scene_node_lower_to_bottom(&c->fullscreen_bg->node);
+ }
} else {
/* restore previous size instead of arrange for floating windows since
* client positions are set by the user and cannot be recalculated */
resize(c, c->prev, 0);
- wlr_scene_node_destroy(&c->fullscreen_bg->node);
+ if (c->fullscreen_bg) {
+ wlr_scene_node_destroy(&c->fullscreen_bg->node);
+ c->fullscreen_bg = NULL;
+ }
}
arrange(c->mon);
printstatus();