summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gtk/src/ghbcompositor.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gtk/src/ghbcompositor.c b/gtk/src/ghbcompositor.c
index b4054055f..93f533c3c 100644
--- a/gtk/src/ghbcompositor.c
+++ b/gtk/src/ghbcompositor.c
@@ -634,7 +634,14 @@ ghb_compositor_blend (GtkWidget *widget, GdkEventExpose *event)
/* draw no more than our expose event intersects our child */
region = gdk_region_rectangle (&child->allocation);
gdk_region_intersect (region, event->region);
+
+ GdkRegion *dregion = gdk_drawable_get_visible_region(
+ gtk_widget_get_window(child));
+ gdk_region_offset(dregion, child->allocation.x, child->allocation.y);
+ gdk_region_intersect (region, dregion);
+
gdk_cairo_region (cr, region);
+ gdk_region_destroy(region);
cairo_clip (cr);
/* composite, with an opacity */
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);