[N_SE-26954] destroy ctx popup when view refreshed
authorByeongin Oh <quddls.oh@samsung.com>
Mon, 4 Mar 2013 04:58:22 +0000 (13:58 +0900)
committerByeongin Oh <quddls.oh@samsung.com>
Mon, 4 Mar 2013 04:58:22 +0000 (13:58 +0900)
Change-Id: I86b413481232c6bf0a525b937c11fdecc98046e8

src/common/mp-menu.c
src/include/music.h [changed mode: 0644->0755]
src/mp-main.c

index f427794..b814616 100755 (executable)
@@ -898,6 +898,15 @@ mp_menu_set_as_select_cb(void *data, Evas_Object * obj, void *event_info)
        return;
 }
 
+static void
+_mp_menu_ctx_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       DEBUG_TRACE("");
+       struct appdata *ad = data;
+       MP_CHECK(ad);
+
+       ad->ctx_popup = NULL;
+}
 
 void
 mp_menu_share_cb(void *data, Evas_Object * obj, void *event_info)
@@ -957,6 +966,9 @@ mp_menu_share_cb(void *data, Evas_Object * obj, void *event_info)
                MP_CHECK(share_popup);
        }
 
+       ad->ctx_popup = share_popup;
+       evas_object_event_callback_add(ad->ctx_popup, EVAS_CALLBACK_DEL, _mp_menu_ctx_del_cb, ad);
+
        return;
 
 }
@@ -994,6 +1006,9 @@ mp_menu_set_cb(void *data, Evas_Object * obj, void *event_info)
                evas_object_data_set(popup, "layout_data", layout_data);
        }
 
+       ad->ctx_popup = popup;
+       evas_object_event_callback_add(ad->ctx_popup, EVAS_CALLBACK_DEL, _mp_menu_ctx_del_cb, ad);
+
        return;
 
 }
old mode 100644 (file)
new mode 100755 (executable)
index 60c722b..40ca43d
@@ -235,6 +235,7 @@ struct appdata
        Evas_Object *win_main;
        Evas_Object *bg;
        Evas_Object *popup[MP_POPUP_MAX];
+       Evas_Object *ctx_popup;
        Ecore_Idler *popup_del_idler;
        int win_angle;
 
index 5aefe08..38642a1 100755 (executable)
@@ -899,6 +899,7 @@ mp_service(service_h service, void *data)
                ad->naviframe = navibar;
        }
 
+       mp_evas_object_del(ad->ctx_popup);
        mp_play_destory(ad);
        mp_play_view_load(ad);
        ad->paused_by_user = FALSE;