shaped-texture: Prevent no clip region from being used as an empty clip region

cairo_region_copy, while valid to call on a NULL pointer, gives us an empty
region instead of an infinitely big region, so the interesction won't give
us what we want. Just check for this case explicitly.

https://bugzilla.gnome.org/show_bug.cgi?id=707081
This commit is contained in:
Jasper St. Pierre 2013-08-29 15:13:39 -04:00
parent fc605d2561
commit 23e9947f7a

View File

@ -257,8 +257,15 @@ meta_shaped_texture_paint (ClutterActor *actor)
int n_rects; int n_rects;
int i; int i;
if (priv->clip_region != NULL)
{
region = cairo_region_copy (priv->clip_region); region = cairo_region_copy (priv->clip_region);
cairo_region_intersect (region, priv->opaque_region); cairo_region_intersect (region, priv->opaque_region);
}
else
{
region = cairo_region_reference (priv->opaque_region);
}
if (cairo_region_is_empty (region)) if (cairo_region_is_empty (region))
goto paint_blended; goto paint_blended;