From 09487c904a2f799942a89175f504d51b57ad9425 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 19 Apr 2007 15:24:04 +0000 Subject: [PATCH] Freeze notification queue when changing multiple properties. Call g_object_freeze_notify() (and take a reference on the actor) inside clutter_actor_request_size() so that the notifications get unqueued at the end of the size request. --- clutter/clutter-actor.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index a4414135f..dfada09c7 100644 --- a/clutter/clutter-actor.c +++ b/clutter/clutter-actor.c @@ -437,6 +437,9 @@ clutter_actor_request_coords (ClutterActor *self, if (CLUTTER_ACTOR_IS_VISIBLE (self)) clutter_actor_queue_redraw (self); + + g_object_ref (self); + g_object_freeze_notify (G_OBJECT (self)); if (x_change) g_object_notify (G_OBJECT (self), "x"); @@ -449,6 +452,9 @@ clutter_actor_request_coords (ClutterActor *self, if (height_change) g_object_notify (G_OBJECT (self), "height"); + + g_object_thaw_notify (G_OBJECT (self)); + g_object_unref (self); } }