discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1abdbe81b507447889d621089e6bb0f98099285a
commit 1abdbe81b507447889d621089e6bb0f98099285a Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Jan 20 11:52:52 2017 -0500 reset demo gadget id before deleting gadget object during drop operation ensure that the gadget is marked as usable so that the config isn't deleted --- src/bin/e_gadget.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c index 14dd018..7935b5f 100644 --- a/src/bin/e_gadget.c +++ b/src/bin/e_gadget.c @@ -1002,24 +1002,24 @@ _site_drop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) EINA_LIST_REVERSE_FOREACH(drop->gadgets, ll, dzgc) { evas_object_smart_callback_call(zgs->layout, "gadget_moved", dzgc->gadget); + if (dzgc->id == -1) dzgc->id = 0; evas_object_del(dzgc->gadget); zgs->gadget_list = eina_inlist_prepend_relative(zgs->gadget_list, EINA_INLIST_GET(dzgc), EINA_INLIST_GET(zgc)); zgs->gadgets = eina_list_prepend_relative_list(zgs->gadgets, dzgc, l); dzgc->site = zgs; - if (dzgc->id == -1) dzgc->id = 0; _gadget_object_finalize(dzgc); } else EINA_LIST_REVERSE_FOREACH(drop->gadgets, ll, dzgc) { evas_object_smart_callback_call(zgs->layout, "gadget_moved", dzgc->gadget); + if (dzgc->id == -1) dzgc->id = 0; evas_object_del(dzgc->gadget); zgs->gadget_list = eina_inlist_append_relative(zgs->gadget_list, EINA_INLIST_GET(dzgc), EINA_INLIST_GET(zgc)); zgs->gadgets = eina_list_append_relative_list(zgs->gadgets, dzgc, l); dzgc->site = zgs; - if (dzgc->id == -1) dzgc->id = 0; _gadget_object_finalize(dzgc); } } @@ -1058,12 +1058,12 @@ _site_drop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) EINA_LIST_FOREACH(drop->gadgets, l, dzgc) { evas_object_smart_callback_call(zgs->layout, "gadget_moved", dzgc->gadget); + if (dzgc->id == -1) dzgc->id = 0; evas_object_del(dzgc->gadget); zgs->gadget_list = eina_inlist_append(zgs->gadget_list, EINA_INLIST_GET(dzgc)); zgs->gadgets = eina_list_append(zgs->gadgets, dzgc); dzgc->site = zgs; - if (dzgc->id == -1) dzgc->id = 0; _gadget_object_finalize(dzgc); } } @@ -1093,6 +1093,7 @@ _site_drop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) /* calculate positioning offsets and normalize based on drop point */ evas_object_geometry_get(dzgc->display, &gx, &gy, &gw, &gh); evas_object_smart_callback_call(zgs->layout, "gadget_moved", dzgc->gadget); + if (dzgc->id == -1) dzgc->id = 0; evas_object_del(dzgc->gadget); zgs->gadget_list = eina_inlist_append(zgs->gadget_list, EINA_INLIST_GET(dzgc)); @@ -1102,7 +1103,6 @@ _site_drop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) dzgc->w = gw / (double)w; dzgc->h = gh / (double)h; dzgc->site = zgs; - if (dzgc->id == -1) dzgc->id = 0; _gadget_object_finalize(dzgc); } } --