[mutter] meta-shaped-texture: Check if the parent has mapped clones as well
- From: Adel Gadllah <agadllah src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] meta-shaped-texture: Check if the parent has mapped clones as well
- Date: Fri, 28 Feb 2014 17:27:08 +0000 (UTC)
commit 463318ac4c495c789337a00591edfdbe0d57cca0
Author: Adel Gadllah <adel gadllah gmail com>
Date: Fri Feb 28 16:38:07 2014 +0100
meta-shaped-texture: Check if the parent has mapped clones as well
When the WindowActor has mapped clones we should ignore
the unobscured region as well, so we need to walk up and check it
as well.
https://bugzilla.gnome.org/show_bug.cgi?id=725180
src/compositor/meta-shaped-texture.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c
index 67b146e..082b1b1 100644
--- a/src/compositor/meta-shaped-texture.c
+++ b/src/compositor/meta-shaped-texture.c
@@ -32,6 +32,7 @@
#include "meta-texture-tower.h"
#include "meta-shaped-texture-private.h"
+#include "meta-window-actor-private.h"
#include <clutter/clutter.h>
#include <cogl/cogl.h>
@@ -597,8 +598,18 @@ static cairo_region_t *
effective_unobscured_region (MetaShapedTexture *self)
{
MetaShapedTexturePrivate *priv = self->priv;
+ ClutterActor *parent = clutter_actor_get_parent (CLUTTER_ACTOR (self));
- return clutter_actor_has_mapped_clones (CLUTTER_ACTOR (self)) ? NULL : priv->unobscured_region;
+ if (clutter_actor_has_mapped_clones (CLUTTER_ACTOR (self)))
+ return NULL;
+
+ while (parent && !META_IS_WINDOW_ACTOR (parent))
+ parent = clutter_actor_get_parent (parent);
+
+ if (parent && clutter_actor_has_mapped_clones (parent))
+ return NULL;
+
+ return priv->unobscured_region;
}
gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]