discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=408128df95be0a9a666fa7d474186710d0c97867

commit 408128df95be0a9a666fa7d474186710d0c97867
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Aug 11 18:48:53 2017 -0400

    handle destruction of demo gadgets without crashing
    
    demo gadgets automatically call _gadget_free() on object delete, avoid
    recursively calling it
---
 src/bin/e_gadget.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index dfe84a46d..ca1f2b2a0 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -385,9 +385,13 @@ _gadget_remove(E_Gadget_Config *zgc)
    evas_object_smart_callback_call(zgc->site->layout, "gadget_removed", 
zgc->gadget);
    zgc->site->gadget_list = eina_inlist_remove(zgc->site->gadget_list, 
EINA_INLIST_GET(zgc));
    zgc->site->gadgets = eina_list_remove(zgc->site->gadgets, zgc);
-   _gadget_free(zgc);
    if (id >= 0)
-     e_config_save_queue();
+     {
+        _gadget_free(zgc);
+        e_config_save_queue();
+     }
+   else
+     evas_object_del(zgc->display);
 }
 
 static void

-- 


Reply via email to