summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-08-10 21:33:50 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-08-15 02:12:08 +0200
commit6553617aa621fbb19dcc3406623ccf096e0334ea (patch)
treec6871b0d193655b2161d2a84ad9b0c66bf01c461
parent955b2b531f4d55d271bf481fe896e3a45682eb71 (diff)
downloadmutter-wip/carlosg/avoid-parent-relayouts.tar.gz
clutter: Only redraw affected portions on parent widget on show/hidewip/carlosg/avoid-parent-relayouts
If we are lucky enough and the parent actor has the CLUTTER_ACTOR_NO_LAYOUT flag, we would skip the relayout, but still redraw the parent actor in its entirety. In these cases, we can at least just redraw the area affected by the actor being shown/hidden.
-rw-r--r--clutter/clutter/clutter-actor.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index 97b03fdb5..347a8807a 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -1792,7 +1792,7 @@ clutter_actor_show (ClutterActor *self)
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_VISIBLE]);
if (priv->parent != NULL)
- clutter_actor_queue_redraw (priv->parent);
+ clutter_actor_queue_redraw (self);
g_object_thaw_notify (G_OBJECT (self));
}
@@ -1917,8 +1917,7 @@ clutter_actor_hide (ClutterActor *self)
g_signal_emit (self, actor_signals[HIDE], 0);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_VISIBLE]);
- if (priv->parent != NULL)
- clutter_actor_queue_redraw (priv->parent);
+ clutter_actor_queue_redraw_on_parent (self);
g_object_thaw_notify (G_OBJECT (self));
}