Merge pull request #2699 from RedSoxFan/fix-2667
swaybg: fix increasingly smaller bg on hotplug
This commit is contained in:
commit
4a4f07ac25
|
@ -58,6 +58,7 @@ void render_background_image(cairo_t *cairo, cairo_surface_t *image,
|
||||||
double width = cairo_image_surface_get_width(image);
|
double width = cairo_image_surface_get_width(image);
|
||||||
double height = cairo_image_surface_get_height(image);
|
double height = cairo_image_surface_get_height(image);
|
||||||
|
|
||||||
|
cairo_save(cairo);
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case BACKGROUND_MODE_STRETCH:
|
case BACKGROUND_MODE_STRETCH:
|
||||||
cairo_scale(cairo,
|
cairo_scale(cairo,
|
||||||
|
@ -116,4 +117,5 @@ void render_background_image(cairo_t *cairo, cairo_surface_t *image,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
cairo_paint(cairo);
|
cairo_paint(cairo);
|
||||||
|
cairo_restore(cairo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,10 @@ static void render_frame(struct swaybg_state *state) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cairo_t *cairo = state->current_buffer->cairo;
|
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) {
|
if (state->args->mode == BACKGROUND_MODE_SOLID_COLOR) {
|
||||||
cairo_set_source_u32(cairo, state->context.color);
|
cairo_set_source_u32(cairo, state->context.color);
|
||||||
cairo_paint(cairo);
|
cairo_paint(cairo);
|
||||||
|
|
Loading…
Reference in a new issue