aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
authorLibravatar Tadeo Kondrak <me@tadeo.ca>2020-03-04 14:47:26 -0700
committerLibravatar Simon Ser <contact@emersion.fr>2020-03-10 10:59:05 +0100
commit91c0ffd6cf1ffb6a86c3ce4d6365ab0843ad9c37 (patch)
tree9c438ab491a9bcb57425289c87edd7db7007aa87 /sway/desktop/output.c
parentcommon/log: bump POSIX version used after e81d9fde667e (diff)
downloadsway-91c0ffd6cf1ffb6a86c3ce4d6365ab0843ad9c37.tar.gz
sway-91c0ffd6cf1ffb6a86c3ce4d6365ab0843ad9c37.tar.zst
sway-91c0ffd6cf1ffb6a86c3ce4d6365ab0843ad9c37.zip
Null check sway_layer_surface when checking damage
Before this change, an overlay layer-shell surface without a buffer attached would segfault the compositor on screen damage.
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index ec3d6424..e6ed9be0 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -388,6 +388,9 @@ bool output_has_opaque_overlay_layer_surface(struct sway_output *output) {
388 struct wlr_surface *wlr_surface = wlr_layer_surface_v1->surface; 388 struct wlr_surface *wlr_surface = wlr_layer_surface_v1->surface;
389 struct sway_layer_surface *sway_layer_surface = 389 struct sway_layer_surface *sway_layer_surface =
390 layer_from_wlr_layer_surface_v1(wlr_layer_surface_v1); 390 layer_from_wlr_layer_surface_v1(wlr_layer_surface_v1);
391 if (sway_layer_surface == NULL) {
392 continue;
393 }
391 pixman_box32_t output_box = { 394 pixman_box32_t output_box = {
392 .x2 = output->width, 395 .x2 = output->width,
393 .y2 = output->height, 396 .y2 = output->height,