* clutter/clutter-event.c (clutter_event_copy): Take an extra
reference on the related actor in ClutterEventCrossing that we
explicitly unref in clutter_event_free(). (#714, Neil Roberts)
+2008-01-19 Emmanuele Bassi <ebassi@openedhand.com>
+
+ * clutter/clutter-event.c (clutter_event_copy): Take an extra
+ reference on the related actor in ClutterEventCrossing that we
+ explicitly unref in clutter_event_free(). (#714, Neil Roberts)
+
2008-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-actors.c (input_cb): Fix the callback signature;
new_event = clutter_event_new (CLUTTER_NOTHING);
*new_event = *event;
+ /* deep copies or references must be added here */
+ switch (new_event->type)
+ {
+ case CLUTTER_ENTER:
+ case CLUTTER_LEAVE:
+ if (new_event->crossing.related)
+ g_object_ref (new_event->crossing.related);
+ break;
+
+ default:
+ break;
+ }
+
return new_event;
}
{
if ((event->type == CLUTTER_LEAVE || event->type == CLUTTER_ENTER) &&
event->crossing.related)
- g_object_unref (event->crossing.related);
+ g_object_unref (event->crossing.related);
+
g_slice_free (ClutterEvent, event);
}
}