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
This commit is contained in:
Mike Blumenkrantz 2012-09-21 06:45:11 +00:00
parent deb9e2ddd4
commit 37f4478e0a
1 changed files with 6 additions and 0 deletions

View File

@ -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);