From 37f4478e0a34b949aa86cbd06412551276aaf288 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 21 Sep 2012 06:45:11 +0000 Subject: [PATCH] add last resort fix for an extremely rare corner case in gadman which causes objects to be undeletable at this point, preventing shutdown due to an infinite loop SVN revision: 76930 --- src/bin/e_gadcon.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index 602f551ac..debcc218a 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -600,6 +600,12 @@ e_gadcon_unpopulate(E_Gadcon *gc) { gcc = eina_list_data_get(gc->clients); _e_gadcon_client_unpopulate(gcc); + /* FIXME: this seems to happen under some rare and as-yet + * undetermined circumstances in gadman + */ + if (gcc != eina_list_data_get(gc->clients)) continue; + WRN("DANGLING GADCON CLIENT %p! THIS IS A BUG!!!", gcc); + e_object_unref(E_OBJECT(gcc)); } if (gc->awaiting_classes) eina_hash_free(gc->awaiting_classes);