From ba36214a4711f4a075f2ce55c47d65a65c7382d2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Mon, 21 Aug 2017 19:18:53 +0900 Subject: [PATCH] evas: Fix experimental code related to visibility This is to pretend the object is visible when it's been added with efl_add but evas hasn't started rendering yet (it's in the queue). This code is not enabled (yet?) although I think it could very well be (I don't observe the same bugs as I did the first time I tried this patch). --- src/lib/evas/canvas/evas_object_main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 298918f3d7..50a6cc94b8 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -1870,9 +1870,10 @@ _efl_canvas_object_efl_gfx_visible_get(Eo *eo_obj EINA_UNUSED, { if (!EVAS_OBJECT_DATA_ALIVE(obj)) return EINA_FALSE; #if 0 - // Try to return TRUE when an object is an EO object but not yet finalized. - // This is disabled as it leads to render bugs. - if (!obj->legacy.ctor && !obj->legacy.finalized && !obj->legacy.visible_set) + // Try to return TRUE when an object is an EO object (must be finalized, + // otherwise we can't know for sure if it's legacy or not). + // Note: This was disabled as it used to lead to render bugs. + if (obj->legacy.finalized && !obj->legacy.ctor && !obj->legacy.visible_set) return EINA_TRUE; #endif return obj->cur->visible;