From 878bd6d9f43c96450dffa2f81d4458bd57bb2cb1 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 2 Dec 2004 09:21:22 +0000 Subject: [PATCH] deferred message bug. fixeed. SVN revision: 12335 --- legacy/edje/src/lib/edje_load.c | 41 +++++++++++++----------- legacy/edje/src/lib/edje_message_queue.c | 2 -- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/legacy/edje/src/lib/edje_load.c b/legacy/edje/src/lib/edje_load.c index 1ffdc0e100..eedefb9033 100644 --- a/legacy/edje/src/lib/edje_load.c +++ b/legacy/edje/src/lib/edje_load.c @@ -589,26 +589,29 @@ _edje_file_del(Edje *ed) rp = ed->parts->data; ed->parts = evas_list_remove(ed->parts, rp); - evas_object_event_callback_del(rp->object, - EVAS_CALLBACK_MOUSE_IN, - _edje_mouse_in_cb); - evas_object_event_callback_del(rp->object, - EVAS_CALLBACK_MOUSE_OUT, - _edje_mouse_out_cb); - evas_object_event_callback_del(rp->object, - EVAS_CALLBACK_MOUSE_DOWN, + if (rp->object) + { + evas_object_event_callback_del(rp->object, + EVAS_CALLBACK_MOUSE_IN, + _edje_mouse_in_cb); + evas_object_event_callback_del(rp->object, + EVAS_CALLBACK_MOUSE_OUT, + _edje_mouse_out_cb); + evas_object_event_callback_del(rp->object, + EVAS_CALLBACK_MOUSE_DOWN, _edje_mouse_down_cb); - evas_object_event_callback_del(rp->object, - EVAS_CALLBACK_MOUSE_UP, - _edje_mouse_up_cb); - evas_object_event_callback_del(rp->object, - EVAS_CALLBACK_MOUSE_MOVE, - _edje_mouse_move_cb); - evas_object_event_callback_del(rp->object, - EVAS_CALLBACK_MOUSE_WHEEL, - _edje_mouse_wheel_cb); - _edje_text_real_part_on_del(ed, rp); - evas_object_del(rp->object); + evas_object_event_callback_del(rp->object, + EVAS_CALLBACK_MOUSE_UP, + _edje_mouse_up_cb); + evas_object_event_callback_del(rp->object, + EVAS_CALLBACK_MOUSE_MOVE, + _edje_mouse_move_cb); + evas_object_event_callback_del(rp->object, + EVAS_CALLBACK_MOUSE_WHEEL, + _edje_mouse_wheel_cb); + _edje_text_real_part_on_del(ed, rp); + evas_object_del(rp->object); + } if (rp->swallowed_object) { evas_object_smart_member_del(rp->swallowed_object); diff --git a/legacy/edje/src/lib/edje_message_queue.c b/legacy/edje/src/lib/edje_message_queue.c index 099c5a7a2b..60a4f22d66 100644 --- a/legacy/edje/src/lib/edje_message_queue.c +++ b/legacy/edje/src/lib/edje_message_queue.c @@ -127,7 +127,6 @@ _edje_message_new(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id) em->type = type; em->id = id; em->edje->message.num++; - _edje_ref(em->edje); return em; } @@ -243,7 +242,6 @@ _edje_message_free(Edje_Message *em) } } em->edje->message.num--; - _edje_unref(em->edje); free(em); }