diff --git a/ChangeLog b/ChangeLog index 6824c27ed..d413d71b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-01-19 Emmanuele Bassi + + * clutter/clutter-main.c (generate_enter_leave_events): Do not + take the explicit reference, and let clutter_event_copy() do it + for us. (#714, Neil Roberts) + 2008-01-19 Emmanuele Bassi * clutter/clutter-event.c (clutter_event_copy): Take an extra diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index a67ba5743..d0fede508 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -1285,7 +1285,7 @@ generate_enter_leave_events (ClutterEvent *event) cev.crossing.y = event->motion.y; cev.crossing.source = context->motion_last_actor; /* unref in free */ - cev.crossing.related = g_object_ref (motion_current_actor); + cev.crossing.related = motion_current_actor; g_queue_push_head (context->events_queue, clutter_event_copy (&cev)); @@ -1297,10 +1297,9 @@ generate_enter_leave_events (ClutterEvent *event) cev.crossing.x = event->motion.x; cev.crossing.y = event->motion.y; cev.crossing.source = motion_current_actor; + if (context->motion_last_actor) - { - cev.crossing.related = g_object_ref (context->motion_last_actor); - } + cev.crossing.related = context->motion_last_actor; else { /* the previous actor we were getting events from seems to have