Fix prevent issues 87/49287/2 accepted/tizen/tv/20151013.040520 submit/tizen/20151013.004713
authorjinwoo.shin <jw0227.shin@samsung.com>
Mon, 12 Oct 2015 09:51:04 +0000 (18:51 +0900)
committerjinwoo.shin <jw0227.shin@samsung.com>
Mon, 12 Oct 2015 10:17:33 +0000 (19:17 +0900)
CIDs : 473724

Change-Id: I8a9ac5d4e55c1c1ad7afae43a6b78688fb680ffa
Signed-off-by: jinwoo.shin <jw0227.shin@samsung.com>
src/action_menu_view.c
src/notification_view.c
src/square_view.c

index ad29e40..063c431 100644 (file)
@@ -295,7 +295,7 @@ static void _update_menu_area(struct _priv *priv)
        elm_table_clear(priv->table, EINA_TRUE);
 
        i = 0;
-       while (buttons[i].id != BUTTON_INVALID && i < BUTTON_MAX) {
+       while (i < BUTTON_MAX && buttons[i].id != BUTTON_INVALID) {
                btn = util_add_button(priv->base, NULL,
                                buttons[i].data[UNTOGGLE].text,
                                STYLE_ACTION_MENU_BTN);
@@ -485,7 +485,6 @@ static void _hide(void *data)
 static void _destroy(void *data)
 {
        struct _priv *priv;
-       int i;
 
        if (!data) {
                _ERR("Get data failed.");
@@ -496,12 +495,6 @@ static void _destroy(void *data)
        inputmgr_remove_callback(priv->base, &key_handler);
        inputmgr_remove_callback(priv->live, &button_handler);
 
-       i = 0;
-       while (priv->menu_btn[i] && i < BUTTON_MAX) {
-               inputmgr_remove_callback(priv->menu_btn[i], &button_handler);
-               i++;
-       }
-
        evas_object_smart_callback_del(priv->table, SIGNAL_CHILD_REMOVED,
                        _child_removed_cb);
        elm_layout_signal_callback_del(priv->base, SIGNAL_HIDE_FINISHED,
index 7a3d05c..bfcd6b1 100644 (file)
@@ -467,6 +467,12 @@ static Evas_Object *_create(Evas_Object *win, void *data)
        inputmgr_add_callback(priv->clear_btn, OBJ_CLEAR, &focus_handler, priv);
 
        priv->grid_class = elm_gengrid_item_class_new();
+       if (!priv->grid_class) {
+               _ERR("failed to create gengrid item class");
+               free(priv->base);
+               free(priv);
+               return NULL;
+       }
        priv->grid_class->item_style = STYLE_GRID_ITEM;
        priv->grid_class->func.text_get = _grid_label_get;
        priv->grid_class->func.content_get = _grid_content_get;
@@ -524,6 +530,8 @@ static void _destroy(void *view_data)
 
        priv = (struct _priv *) view_data;
 
+       notification_unresister_changed_cb(_notification_changed_cb);
+
        inputmgr_remove_callback(priv->clear_btn, &clear_handler);
        inputmgr_remove_callback(priv->base, &base_handler);
 
index 924b8ea..9fd29e5 100644 (file)
@@ -390,6 +390,7 @@ static void _destroy(void *view_data)
        priv = (struct _priv *) view_data;
 
        stop_clock_timer(priv);
+       notification_unresister_changed_cb(_noti_changed_cb);
        evas_object_smart_callback_del(priv->list, SIGNAL_CHILD_REMOVED,
                        _child_removed_cb);
        inputmgr_remove_callback(priv->clear_btn, &button_handler);