window-actor: Remove conditional checks for the shape region
With recent changes in the way the window mask texture is constructed, the shape_region is always set, which means that we can remove conditionals checking if the shape region is set. https://bugzilla.gnome.org/show_bug.cgi?id=679901
This commit is contained in:
parent
07273a075d
commit
84930f1d78
@ -68,7 +68,7 @@ struct _MetaWindowActorPrivate
|
|||||||
|
|
||||||
gchar * desc;
|
gchar * desc;
|
||||||
|
|
||||||
/* If the window is shaped, a region that matches the shape */
|
/* A region that matches the shape of the window, including frame bounds */
|
||||||
cairo_region_t *shape_region;
|
cairo_region_t *shape_region;
|
||||||
/* A rectangular region with the visible extents of the window */
|
/* A rectangular region with the visible extents of the window */
|
||||||
cairo_region_t *bounding_region;
|
cairo_region_t *bounding_region;
|
||||||
@ -560,16 +560,7 @@ meta_window_actor_get_shape_bounds (MetaWindowActor *self,
|
|||||||
{
|
{
|
||||||
MetaWindowActorPrivate *priv = self->priv;
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
|
|
||||||
/* We need to be defensive here because there are corner cases
|
|
||||||
* where getting the shape fails on a window being destroyed
|
|
||||||
* and similar.
|
|
||||||
*/
|
|
||||||
if (priv->shape_region)
|
|
||||||
cairo_region_get_extents (priv->shape_region, bounds);
|
cairo_region_get_extents (priv->shape_region, bounds);
|
||||||
else if (priv->bounding_region)
|
|
||||||
cairo_region_get_extents (priv->bounding_region, bounds);
|
|
||||||
else
|
|
||||||
bounds->x = bounds->y = bounds->width = bounds->height = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1613,12 +1604,7 @@ meta_window_actor_get_obscured_region (MetaWindowActor *self)
|
|||||||
MetaWindowActorPrivate *priv = self->priv;
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
|
|
||||||
if (!priv->argb32 && priv->opacity == 0xff && priv->back_pixmap)
|
if (!priv->argb32 && priv->opacity == 0xff && priv->back_pixmap)
|
||||||
{
|
|
||||||
if (priv->shape_region)
|
|
||||||
return priv->shape_region;
|
return priv->shape_region;
|
||||||
else
|
|
||||||
return priv->bounding_region;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -1867,15 +1853,8 @@ check_needs_shadow (MetaWindowActor *self)
|
|||||||
if (*shadow_location == NULL && should_have_shadow)
|
if (*shadow_location == NULL && should_have_shadow)
|
||||||
{
|
{
|
||||||
if (priv->shadow_shape == NULL)
|
if (priv->shadow_shape == NULL)
|
||||||
{
|
|
||||||
if (priv->shape_region)
|
|
||||||
priv->shadow_shape = meta_window_shape_new (priv->shape_region);
|
priv->shadow_shape = meta_window_shape_new (priv->shape_region);
|
||||||
else if (priv->bounding_region)
|
|
||||||
priv->shadow_shape = meta_window_shape_new (priv->bounding_region);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (priv->shadow_shape != NULL)
|
|
||||||
{
|
|
||||||
MetaShadowFactory *factory = meta_shadow_factory_get_default ();
|
MetaShadowFactory *factory = meta_shadow_factory_get_default ();
|
||||||
const char *shadow_class = meta_window_actor_get_shadow_class (self);
|
const char *shadow_class = meta_window_actor_get_shadow_class (self);
|
||||||
cairo_rectangle_int_t shape_bounds;
|
cairo_rectangle_int_t shape_bounds;
|
||||||
@ -1886,7 +1865,6 @@ check_needs_shadow (MetaWindowActor *self)
|
|||||||
shape_bounds.width, shape_bounds.height,
|
shape_bounds.width, shape_bounds.height,
|
||||||
shadow_class, appears_focused);
|
shadow_class, appears_focused);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (old_shadow != NULL)
|
if (old_shadow != NULL)
|
||||||
meta_shadow_unref (old_shadow);
|
meta_shadow_unref (old_shadow);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user