[mutter/wayland] 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/wayland] meta-shaped-texture: Check if the parent has mapped clones as well
- Date: Fri, 28 Feb 2014 17:27:47 +0000 (UTC)
commit d41fba6558c8964d6118e131544adb7b650f6e3e
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 30697ee..bbcf0f9 100644
--- a/src/compositor/meta-shaped-texture.c
+++ b/src/compositor/meta-shaped-texture.c
@@ -33,6 +33,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>
@@ -576,8 +577,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]