diff options
| author | Johan Malm <[email protected]> | 2022-06-08 20:27:50 +0100 | 
|---|---|---|
| committer | Isaac Freund <[email protected]> | 2022-06-08 20:13:55 +0000 | 
| commit | 3e35ece7cf3ddf846d7fca8f3b063e31fe7dcb38 (patch) | |
| tree | 500aa77c8a6066e1b223d6b4caf9e170b9fc33a1 | |
| parent | b7e78a469aec2478a1c7ad00162b7b3745631682 (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-- | layer_shell_v1.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/layer_shell_v1.c b/layer_shell_v1.c index eb0bc76..b674cd3 100644 --- a/layer_shell_v1.c +++ b/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;  | 
