wearable/rotary_selector: modify items clear API considering to add item 90/203890/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Tue, 29 May 2018 02:24:18 +0000 (11:24 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 18 Apr 2019 05:42:24 +0000 (14:42 +0900)
Change-Id: I415a8ea4f6a0926f1586037ab52ac695f3f06f3c

src/wearable/efl_extension_rotary_selector.c

index a1c84f582601f3a3ccd93e0dad11ae888751f10b..3a5d005e5a7b69d12dc668b471633f29c6fde885 100644 (file)
@@ -3604,6 +3604,7 @@ eext_rotary_selector_item_del(Eext_Object_Item *item)
 EAPI void
 eext_rotary_selector_items_clear(Evas_Object *obj)
 {
+   Eina_List *l;
    Evas_Object* rotary_selector = obj;
    Eext_Rotary_Selector_Data *rsd = NULL;
    Eext_Rotary_Selector_Item *item = NULL;
@@ -3621,11 +3622,20 @@ eext_rotary_selector_items_clear(Evas_Object *obj)
         return;
      }
 
-   EINA_LIST_FREE(rsd->item_list, item)
-     evas_object_del(item->base.obj);
+   EINA_LIST_FOREACH(rsd->item_list, l, item)
+     {
+        if (item != rsd->add_item)
+          {
+             rsd->item_list = eina_list_remove(rsd->item_list, item);
+             evas_object_del(item->base.obj);
+          }
+     }
 
    rsd->selected_index = 0;
 
+   _item_rearrange(rsd, rsd->selected_index);
+   _items_transformation_update(rsd);
+   _items_invalidate(rsd);
    _item_update_animation_run(rsd);
 
    return;