conformant - delete the smart callbacks fairly
authorChunEon Park <chuneon.park@samsung.com>
Wed, 12 Jun 2013 06:49:36 +0000 (15:49 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Thu, 20 Jun 2013 12:29:54 +0000 (21:29 +0900)
src/lib/elm_conform.c
src/lib/elm_widget_conform.h

index 18438cb..360f85d 100644 (file)
@@ -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;
 }
index d1b61c4..1cb7319 100644 (file)
@@ -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;