gdkwindow: ignore shape on client-side windows when recomputing visible regions

Rendering doesn't do much about clipping drawing operations to the window shape,
although invalidation applies the shape to every window, leaving possibly trails
of "overrendered" content. So ensure the shape portions get invalidated too when
the window is moved/resized.

https://bugzilla.gnome.org/show_bug.cgi?id=729095
This commit is contained in:
Carlos Garnacho 2014-04-28 21:19:40 +02:00
parent 5b72e0f8cf
commit 8e5982ca9d

View File

@ -935,7 +935,7 @@ recompute_visible_regions_internal (GdkWindow *private,
/* Convert from parent coords to window coords */
cairo_region_translate (new_clip, -private->x, -private->y);
if (private->shape)
if (should_apply_clip_as_shape (private) && private->shape)
cairo_region_intersect (new_clip, private->shape);
}
else