elementary/naviframe - let's remove contents which are preserved on set if the navifr...
authorChunEon Park <hermet@hermet.pe.kr>
Thu, 22 Nov 2012 14:47:08 +0000 (14:47 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Thu, 22 Nov 2012 14:47:08 +0000 (14:47 +0000)
SVN revision: 79541

ChangeLog
NEWS
src/lib/elc_naviframe.c

index 0459964..64cc98f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
 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 (file)
--- 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:
 
index 92fc553..75292af 100644 (file)
@@ -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