From 890619dc063c90a70087b06e13bd9c59552c39ba Mon Sep 17 00:00:00 2001 From: Jin Yoon Date: Thu, 11 Jul 2013 16:22:23 +0900 Subject: [PATCH] Index : destroy the index once --- data/org.tizen.menu-screen.xml.in | 2 +- packaging/org.tizen.menu-screen.spec | 2 +- src/all_apps/layout.c | 5 +++-- src/index.c | 2 ++ src/page.c | 16 ++++++++++++---- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/data/org.tizen.menu-screen.xml.in b/data/org.tizen.menu-screen.xml.in index 5b0d81d..ab5e8c9 100755 --- a/data/org.tizen.menu-screen.xml.in +++ b/data/org.tizen.menu-screen.xml.in @@ -1,5 +1,5 @@ - + Jin Yoon Youngjoo Park diff --git a/packaging/org.tizen.menu-screen.spec b/packaging/org.tizen.menu-screen.spec index 489af88..faaffdf 100644 --- a/packaging/org.tizen.menu-screen.spec +++ b/packaging/org.tizen.menu-screen.spec @@ -16,7 +16,7 @@ Name: org.tizen.menu-screen Summary: An utility library of the menu screen -Version: 1.1.13 +Version: 1.1.14 Release: 1.1 Group: TO_BE/FILLED_IN License: Flora Software License diff --git a/src/all_apps/layout.c b/src/all_apps/layout.c index 092fbb8..c3ad979 100644 --- a/src/all_apps/layout.c +++ b/src/all_apps/layout.c @@ -386,10 +386,11 @@ HAPI void all_apps_layout_destroy(Evas_Object *all_apps) } } while (0); - index = evas_object_data_get(all_apps, "index"); scroller = evas_object_data_get(all_apps, "scroller"); - + ret_if(NULL == scroller); if (scroller) page_scroller_destroy(scroller); + + index = evas_object_data_get(scroller, "index"); if (index) index_destroy(index); evas_object_data_del(all_apps, "win"); diff --git a/src/index.c b/src/index.c index 2c5302f..9ada8e8 100644 --- a/src/index.c +++ b/src/index.c @@ -41,6 +41,8 @@ HAPI inline void index_bring_in(Evas_Object *index, int idx) HAPI void index_destroy(Evas_Object *index) { + ret_if(NULL == index); + evas_object_data_del(index, "win"); evas_object_data_del(index, "layout"); evas_object_data_del(index, "controlbar"); diff --git a/src/page.c b/src/page.c index 2989cc8..dffa633 100644 --- a/src/page.c +++ b/src/page.c @@ -210,7 +210,8 @@ HAPI Evas_Object *page_create(Evas_Object *scroller, int idx, int rotate) if (index) { tab = evas_object_data_get(scroller, "tab"); count = page_scroller_count_page(scroller); - index_update(tab, index, count); + index = index_update(tab, index, count); + evas_object_data_set(scroller, "index", index); } return page; @@ -258,10 +259,17 @@ HAPI void page_destroy(Evas_Object *scroller, Evas_Object *page) } index = evas_object_data_get(scroller, "index"); - if (index) { - tab = evas_object_data_get(scroller, "tab"); + tab = evas_object_data_get(scroller, "tab"); + if (index && tab) { count = page_scroller_count_page(scroller); - index_update(tab, index, count); + if (count) { + index = index_update(tab, index, count); + evas_object_data_set(scroller, "index", index); + } + else { + index_destroy(index); + evas_object_data_set(scroller, "index", NULL); + } } evas_object_data_del(page, "win"); -- 2.34.1