aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Malm <jgm323@gmail.com>2022-06-08 20:27:50 +0100
committerIsaac Freund <mail@isaacfreund.com>2022-06-08 20:13:55 +0000
commitd57d2e0e368bbf0b94246a3f6dbeb26c7b048993 (patch)
tree18af4a6d50c46cc1bd00e34853c63b6f0969f4d7
parent96b594110ddbb4ab133ef4c9030a7c416175b20e (diff)
scene/layer_shell_v1.c: fix bug in width/height calculations
...in wlr_scene_layer_surface_v1_configure() Reproduce bug with waybar by setting `"margin": 5,` in ~/.config/waybar/config. It will result in the right edge of the panel extending outside the edge of the output. The bug can also be reproduced with gtk-layer-demo by anchoring left/right/top/bottom and setting respective margins Relates-to: https://github.com/labwc/labwc/issues/382
-rw-r--r--types/scene/layer_shell_v1.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/types/scene/layer_shell_v1.c b/types/scene/layer_shell_v1.c
index eb0bc76e..b674cd36 100644
--- a/types/scene/layer_shell_v1.c
+++ b/types/scene/layer_shell_v1.c
@@ -94,7 +94,7 @@ void wlr_scene_layer_surface_v1_configure(
if (box.width == 0) {
box.x = bounds.x + state->margin.left;
box.width = bounds.width -
- state->margin.left + state->margin.right;
+ (state->margin.left + state->margin.right);
} else if (state->anchor & ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT &&
state->anchor & ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT) {
box.x = bounds.x + bounds.width/2 -box.width/2;
@@ -110,7 +110,7 @@ void wlr_scene_layer_surface_v1_configure(
if (box.height == 0) {
box.y = bounds.y + state->margin.top;
box.height = bounds.height -
- state->margin.top + state->margin.bottom;
+ (state->margin.top + state->margin.bottom);
} else if (state->anchor & ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP &&
state->anchor & ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM) {
box.y = bounds.y + bounds.height/2 - box.height/2;