aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/background-image.c2
-rw-r--r--swaybg/main.c4
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);