mirror of
https://github.com/gwenhael-le-moine/sway-patched-tray-menu.git
synced 2024-12-27 21:58:16 +01:00
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.
This commit is contained in:
parent
e0e31418d4
commit
c73a40555f
2 changed files with 6 additions and 0 deletions
|
@ -503,6 +503,9 @@ void render_frame(struct swaybar *bar, struct swaybar_output *output) {
|
||||||
output->buffers,
|
output->buffers,
|
||||||
output->width * output->scale,
|
output->width * output->scale,
|
||||||
output->height * output->scale);
|
output->height * output->scale);
|
||||||
|
if (!output->current_buffer) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
cairo_t *shm = output->current_buffer->cairo;
|
cairo_t *shm = output->current_buffer->cairo;
|
||||||
|
|
||||||
cairo_save(shm);
|
cairo_save(shm);
|
||||||
|
|
|
@ -68,6 +68,9 @@ static void render_frame(struct swaybg_state *state) {
|
||||||
buffer_height = state->height * state->scale;
|
buffer_height = state->height * state->scale;
|
||||||
state->current_buffer = get_next_buffer(state->shm,
|
state->current_buffer = get_next_buffer(state->shm,
|
||||||
state->buffers, buffer_width, buffer_height);
|
state->buffers, buffer_width, buffer_height);
|
||||||
|
if (!state->current_buffer) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
cairo_t *cairo = state->current_buffer->cairo;
|
cairo_t *cairo = state->current_buffer->cairo;
|
||||||
if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) {
|
if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) {
|
||||||
cairo_set_source_u32(cairo, state->context.color);
|
cairo_set_source_u32(cairo, state->context.color);
|
||||||
|
|
Loading…
Reference in a new issue