summaryrefslogtreecommitdiff
path: root/clutter
diff options
context:
space:
mode:
Diffstat (limited to 'clutter')
-rw-r--r--clutter/clutter/clutter-actor.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index e1ff406b0..66a096851 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -1648,9 +1648,13 @@ clutter_actor_real_unmap (ClutterActor *self)
_clutter_paint_volume_init_static (&priv->last_paint_volume, NULL);
priv->last_paint_volume_valid = TRUE;
- if (priv->parent && !CLUTTER_ACTOR_IN_DESTRUCTION (priv->parent) &&
- (!(priv->parent->flags & CLUTTER_ACTOR_NO_LAYOUT)))
- clutter_actor_queue_relayout (priv->parent);
+ if (priv->parent && !CLUTTER_ACTOR_IN_DESTRUCTION (priv->parent))
+ {
+ if (G_UNLIKELY (priv->parent->flags & CLUTTER_ACTOR_NO_LAYOUT))
+ clutter_actor_queue_redraw (priv->parent);
+ else
+ clutter_actor_queue_relayout (priv->parent);
+ }
}
/* notify on parent mapped after potentially unmapping