commit 4a4f07ac25d18dfeffc6a1ff55e175ba01abc290
parent 0bc9dc192fb453fad5ce9dae519786a4989fb36a
Author: emersion <contact@emersion.fr>
Date: Sun, 23 Sep 2018 21:44:57 +0200
Merge pull request #2699 from RedSoxFan/fix-2667
swaybg: fix increasingly smaller bg on hotplug
Diffstat:
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git 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,
double width = cairo_image_surface_get_width(image);
double height = cairo_image_surface_get_height(image);
+ cairo_save(cairo);
switch (mode) {
case BACKGROUND_MODE_STRETCH:
cairo_scale(cairo,
@@ -116,4 +117,5 @@ void render_background_image(cairo_t *cairo, cairo_surface_t *image,
break;
}
cairo_paint(cairo);
+ cairo_restore(cairo);
}
diff --git a/swaybg/main.c b/swaybg/main.c
@@ -73,6 +73,10 @@ static void render_frame(struct swaybg_state *state) {
return;
}
cairo_t *cairo = state->current_buffer->cairo;
+ cairo_save(cairo);
+ cairo_set_operator(cairo, CAIRO_OPERATOR_CLEAR);
+ cairo_paint(cairo);
+ cairo_restore(cairo);
if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) {
cairo_set_source_u32(cairo, state->context.color);
cairo_paint(cairo);