evas - legacy evas_object_del - always hide obj regardless of refs
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Sat, 23 Apr 2016 14:06:13 +0000 (23:06 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Sat, 23 Apr 2016 14:07:48 +0000 (23:07 +0900)
if an object iot reffed or not hide on del. it should have been this
way before eo. eoifications i think messed a few things up.

this does bring up an issue... in eo we have no way to explicitly do
stuff on eo_del regardless of references at the time. this needs to be
solved.

@fix

src/lib/evas/canvas/evas_object_main.c

index 6a1983f..8b9710a 100644 (file)
@@ -725,6 +725,7 @@ evas_object_del(Evas_Object *eo_obj)
    Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS);
 
    if (!obj) return;
+   evas_object_hide(eo_obj);
    evas_object_async_block(obj);
    if (obj->delete_me || obj->eo_del_called) return;
    if (obj->ref > 0)