aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/render.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/render.c b/src/render.c
index 938cd82..7a4712c 100644
--- a/src/render.c
+++ b/src/render.c
@@ -653,10 +653,15 @@ static void do_composite(struct frame *fr, cairo_t *cr)
{
if ( fr->contents == NULL ) return;
+ cairo_save(cr);
cairo_rectangle(cr, fr->x, fr->y, fr->w, fr->h);
+ cairo_clip(cr);
cairo_set_source_surface(cr, fr->contents, fr->x, fr->y);
- cairo_fill_preserve(cr);
+ cairo_paint(cr);
+ cairo_restore(cr);
+
cairo_set_source_rgb(cr, 0.0, 0.0, 0.0);
+ cairo_rectangle(cr, fr->x, fr->y, fr->w, fr->h);
cairo_stroke(cr);
}