diff options
author | minus <minus@mnus.de> | 2018-07-14 00:01:43 +0200 |
---|---|---|
committer | minus <minus@mnus.de> | 2018-07-14 00:04:02 +0200 |
commit | c73a40555f41ad765c10ea5912525c56770e71d1 (patch) | |
tree | 62c6576a23287a317c6169ac7873fdfbdca04aa7 /swaybg/main.c | |
parent | e0e31418d413a16154e7487367a889c629783d1b (diff) |
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/main.c')
-rw-r--r-- | swaybg/main.c | 3 |
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) { 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); |