summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorminus <minus@mnus.de>2018-07-14 00:01:43 +0200
committerminus <minus@mnus.de>2018-07-14 00:04:02 +0200
commitbe10fb28cf8d2ed96e26c6822afaf085285fe831 (patch)
treea63081e0d16c8255c81e9021c59548b6277c0b75
parent70c780259b3fb72b7843605b16156af66e563219 (diff)
downloadswaybg-be10fb28cf8d2ed96e26c6822afaf085285fe831.tar.gz
swaybg-be10fb28cf8d2ed96e26c6822afaf085285fe831.tar.bz2
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.
-rw-r--r--main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/main.c b/main.c
index 1796b24..f8e7e7e 100644
--- a/main.c
+++ b/main.c
@@ -68,6 +68,9 @@ static void render_frame(struct swaybg_state *state) {
buffer_height = state->height * state->scale;
state->current_buffer = get_next_buffer(state->shm,
state->buffers, buffer_width, buffer_height);
+ if (!state->current_buffer) {
+ return;
+ }
cairo_t *cairo = state->current_buffer->cairo;
if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) {
cairo_set_source_u32(cairo, state->context.color);