From 283a1cd62030b038024ee86752e190d55607df97 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 14 Sep 2017 15:02:40 -0400 Subject: [PATCH] handle unmovable gadgets in gadget move action a gadget which refuses to create a duplicate of itself can be considered immobile fix T5998 --- src/bin/e_gadget.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c index 7c991b24a..a0951a564 100644 --- a/src/bin/e_gadget.c +++ b/src/bin/e_gadget.c @@ -1131,7 +1131,6 @@ _gadget_act_move(E_Object *obj, const char *params EINA_UNUSED, E_Binding_Event_ g = e_object_data_get(obj); zgc = evas_object_data_get(g, "__e_gadget"); zgc->moving = 1; - evas_object_pass_events_set(zgc->site->layout, 1); _editor_pointer_site_init(zgc->site->orient, NULL, NULL, 1); e_gadget_site_owner_setup(pointer_site, zgc->site->anchor, NULL); ZGS_GET(pointer_site); @@ -1140,7 +1139,14 @@ _gadget_act_move(E_Object *obj, const char *params EINA_UNUSED, E_Binding_Event_ else _gadget_util_add(zgs, NULL, zgc->type, zgc->id); z = eina_list_data_get(zgs->gadgets); + if (!z) + { + E_FREE_FUNC(pointer_site, evas_object_del); + zgc->moving = 0; + return EINA_TRUE; + } z->moving = 1; + evas_object_pass_events_set(zgc->site->layout, 1); evas_object_geometry_get(g, NULL, NULL, &w, &h); evas_object_resize(pointer_site, w, h); eina_stringshare_refplace(&z->style.name, zgc->style.name);