From 3eae4fd660989030f8bc3cd0b7d40996392cc86d Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Thu, 22 Nov 2012 14:47:08 +0000 Subject: [PATCH] elementary/naviframe - let's remove contents which are preserved on set if the naviframe is deleted. SVN revision: 79541 --- ChangeLog | 9 ++++++++- NEWS | 1 + src/lib/elc_naviframe.c | 19 +++++++++++-------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0459964..64cc98f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -695,4 +695,11 @@ 2012-11-22 Michael Bouchaud (yoz) - * fix elm_flip to show only one face at a time + * fix elm_flip to show only one face at a time + +2012-11-22 ChunEon Park (Hermet) + + * Lets remove contents regardless of the preseve_on_set if naviframe is + deleted. + + diff --git a/NEWS b/NEWS index 2e5c526..c8b0c9a 100644 --- a/NEWS +++ b/NEWS @@ -60,6 +60,7 @@ Fixes: * Fix the elm_image which is made up of a edje object can call a callback function * Fix update the min size hint on elm_label after a text set * Fix flip widget who show the two face at same time + * Fix the naviframe to delete contents which are preserved_on set if the naviframe is deleted. Removals: diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index 92fc553..75292af 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -84,16 +84,19 @@ _item_free(Elm_Naviframe_Item *it) evas_object_del(it->title_next_btn); if (it->title_icon) evas_object_del(it->title_icon); - if (sd->preserve && it->content) + if (it->content) { - /* so that elm does not delete the contents with the item's - * view after the del_pre_hook */ - edje_object_part_unswallow(VIEW(it), it->content); - evas_object_event_callback_del - (it->content, EVAS_CALLBACK_DEL, _item_content_del_cb); + if ((sd->preserve) && (!sd->on_deletion)) + { + /* so that elm does not delete the contents with the item's + * view after the del_pre_hook */ + edje_object_part_unswallow(VIEW(it), it->content); + evas_object_event_callback_del + (it->content, EVAS_CALLBACK_DEL, _item_content_del_cb); + } + else + evas_object_del(it->content); } - else if (it->content) - evas_object_del(it->content); } static void -- 2.7.4