From: John Lindgren Date: Sun, 27 Nov 2022 03:49:10 +0000 (-0500) Subject: view: Fix SSD margin computation X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=cfa51ab6285319250061be5a58c192293ca5031d;p=proto%2Flabwc.git view: Fix SSD margin computation If `view->ssd_enabled` is false when calling `ssd_create()` then `ssd_thickness()` returns zeroes which are stored in `ssd->margins`. The quick fix is just to ensure we set `view->ssd_enabled` before calling `ssd_create()`. At some point, it might be nice to refactor so that `ssd_create()` does not reference `view->ssd_enabled`. --- diff --git a/src/view.c b/src/view.c index 97064508..a747c0a6 100644 --- a/src/view.c +++ b/src/view.c @@ -559,12 +559,16 @@ view_set_decorations(struct view *view, bool decorations) { assert(view); if (view->ssd_enabled != decorations && !view->fullscreen) { + /* + * Set view->ssd_enabled first since it is referenced + * within the call tree of ssd_create() + */ + view->ssd_enabled = decorations; if (decorations) { ssd_create(view, view == view->server->focused_view); } else { ssd_destroy(view); } - view->ssd_enabled = decorations; if (view->maximized) { view_apply_maximized_geometry(view); } else if (view->tiled) {