From 0736cb73230c6f2e39b7186770f7405f4dda228e Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 29 Jul 2010 17:00:24 +0100 Subject: [PATCH] actor: Make set_flags() safe from unrefs It's possible - though not recommended - that user code causes the destruction of an actor in one of the notification handlers for flag-based properties. We should protect the multiple notification emission with g_object_ref/unref. --- clutter/clutter-actor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index 91adfa9..863243e 100644 --- a/clutter/clutter-actor.c +++ b/clutter/clutter-actor.c @@ -10368,6 +10368,7 @@ clutter_actor_set_flags (ClutterActor *self, return; obj = G_OBJECT (self); + g_object_ref (obj); g_object_freeze_notify (obj); old_flags = self->flags; @@ -10397,6 +10398,7 @@ clutter_actor_set_flags (ClutterActor *self, g_object_notify (obj, "visible"); g_object_thaw_notify (obj); + g_object_unref (obj); } /** -- 2.7.4