aboutsummaryrefslogtreecommitdiffstats
path: root/swaybg
diff options
context:
space:
mode:
authorLibravatar minus <minus@mnus.de>2018-07-14 00:01:43 +0200
committerLibravatar minus <minus@mnus.de>2018-07-14 00:04:02 +0200
commitc73a40555f41ad765c10ea5912525c56770e71d1 (patch)
tree62c6576a23287a317c6169ac7873fdfbdca04aa7 /swaybg
parentMerge pull request #2267 from emersion/simplify-popup-constraints (diff)
downloadsway-c73a40555f41ad765c10ea5912525c56770e71d1.tar.gz
sway-c73a40555f41ad765c10ea5912525c56770e71d1.tar.zst
sway-c73a40555f41ad765c10ea5912525c56770e71d1.zip
swaybar/bg: Fix crash on DPMS off
When turning off displays via DPMS, swaybar and swaybg still tried to render, but did not get a valid buffer, causing them to crash.
Diffstat (limited to 'swaybg')
-rw-r--r--swaybg/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/swaybg/main.c b/swaybg/main.c
index 1796b245..f8e7e7ef 100644
--- a/swaybg/main.c
+++ b/swaybg/main.c
@@ -68,6 +68,9 @@ static void render_frame(struct swaybg_state *state) {
68 buffer_height = state->height * state->scale; 68 buffer_height = state->height * state->scale;
69 state->current_buffer = get_next_buffer(state->shm, 69 state->current_buffer = get_next_buffer(state->shm,
70 state->buffers, buffer_width, buffer_height); 70 state->buffers, buffer_width, buffer_height);
71 if (!state->current_buffer) {
72 return;
73 }
71 cairo_t *cairo = state->current_buffer->cairo; 74 cairo_t *cairo = state->current_buffer->cairo;
72 if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) { 75 if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) {
73 cairo_set_source_u32(cairo, state->context.color); 76 cairo_set_source_u32(cairo, state->context.color);