diff options
-rw-r--r-- | common/background-image.c | 2 | ||||
-rw-r--r-- | swaybg/main.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/common/background-image.c b/common/background-image.c index f3d2551e..5ede55e3 100644 --- a/common/background-image.c +++ b/common/background-image.c | |||
@@ -58,6 +58,7 @@ void render_background_image(cairo_t *cairo, cairo_surface_t *image, | |||
58 | double width = cairo_image_surface_get_width(image); | 58 | double width = cairo_image_surface_get_width(image); |
59 | double height = cairo_image_surface_get_height(image); | 59 | double height = cairo_image_surface_get_height(image); |
60 | 60 | ||
61 | cairo_save(cairo); | ||
61 | switch (mode) { | 62 | switch (mode) { |
62 | case BACKGROUND_MODE_STRETCH: | 63 | case BACKGROUND_MODE_STRETCH: |
63 | cairo_scale(cairo, | 64 | cairo_scale(cairo, |
@@ -116,4 +117,5 @@ void render_background_image(cairo_t *cairo, cairo_surface_t *image, | |||
116 | break; | 117 | break; |
117 | } | 118 | } |
118 | cairo_paint(cairo); | 119 | cairo_paint(cairo); |
120 | cairo_restore(cairo); | ||
119 | } | 121 | } |
diff --git a/swaybg/main.c b/swaybg/main.c index 5b0d0458..742669ef 100644 --- a/swaybg/main.c +++ b/swaybg/main.c | |||
@@ -73,6 +73,10 @@ static void render_frame(struct swaybg_state *state) { | |||
73 | return; | 73 | return; |
74 | } | 74 | } |
75 | cairo_t *cairo = state->current_buffer->cairo; | 75 | cairo_t *cairo = state->current_buffer->cairo; |
76 | cairo_save(cairo); | ||
77 | cairo_set_operator(cairo, CAIRO_OPERATOR_CLEAR); | ||
78 | cairo_paint(cairo); | ||
79 | cairo_restore(cairo); | ||
76 | if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) { | 80 | if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) { |
77 | cairo_set_source_u32(cairo, state->context.color); | 81 | cairo_set_source_u32(cairo, state->context.color); |
78 | cairo_paint(cairo); | 82 | cairo_paint(cairo); |