From cb463b4e9c259f7afb9be249ea49b6969e6ade30 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Wed, 12 Jun 2013 15:49:36 +0900 Subject: [PATCH] conformant - delete the smart callbacks fairly --- src/lib/elm_conform.c | 17 ++++++++++------- src/lib/elm_widget_conform.h | 1 + 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c index 18438cb..360f85d 100644 --- a/src/lib/elm_conform.c +++ b/src/lib/elm_conform.c @@ -421,15 +421,9 @@ _plug_msg_handle(void *data, Evas_Object *obj, void *event_info) int *repeat = msg_data; DBG("[INDICATOR]Receive repeat event change message:(%d)", *repeat); if (1 == *repeat) - { evas_object_repeat_events_set(sd->landscape_indicator, EINA_TRUE); - evas_object_repeat_events_set(sd->portrait_indicator, EINA_TRUE); - } else - { evas_object_repeat_events_set(sd->landscape_indicator, EINA_FALSE); - evas_object_repeat_events_set(sd->portrait_indicator, EINA_FALSE); - } } if (msg_id == MSG_ID_INDICATOR_TYPE) { @@ -1121,9 +1115,16 @@ _elm_conformant_smart_del(Evas_Object *obj) evas_object_smart_callback_del(sd->landscape_indicator, "message.received", _plug_msg_handle); evas_object_del(sd->landscape_indicator); } - top = elm_widget_top_get(obj); + top = sd->win; evas_object_data_set(top, "\377 elm,conformant", NULL); + evas_object_smart_callback_del(top, "indicator,prop,changed", + _on_indicator_mode_changed); + evas_object_smart_callback_del(top, "rotation,changed", + _on_rotation_changed); + evas_object_smart_callback_del(top, "iconified", _on_iconified); + evas_object_smart_callback_del(top, "normal", _on_normal); + ELM_WIDGET_CLASS(_elm_conformant_parent_sc)->base.del(obj); } @@ -1232,5 +1233,7 @@ elm_conformant_add(Evas_Object *parent) evas_object_smart_callback_add (top, "normal", _on_normal, obj); + sd->win = top; + return obj; } diff --git a/src/lib/elm_widget_conform.h b/src/lib/elm_widget_conform.h index d1b61c4..1cb7319 100644 --- a/src/lib/elm_widget_conform.h +++ b/src/lib/elm_widget_conform.h @@ -128,6 +128,7 @@ struct _Elm_Conformant_Smart_Data Evas_Object *virtualkeypad; Evas_Object *clipboard; Evas_Object *scroller; + Evas_Object *win; #ifdef HAVE_ELEMENTARY_X Ecore_Event_Handler *prop_hdl; Ecore_X_Virtual_Keyboard_State vkb_state; -- 2.7.4