From 9a816931a28c674e9f12ebb5d33b953f190a272f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 29 Aug 2017 10:55:56 +0900 Subject: [PATCH] evas: Fix automatic visible set (EO) This fixes a case where an object is hidden before the first render. When called from elementary. the visible intercept code would be called before evas object's visible_set, bypassing the line setting visible_set to true. As a consequence the object would be visible even when explicitly requested as hidden. Thanks @JackDanielZ for the report! --- src/lib/evas/canvas/evas_object_intercept.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index 2a37ac2f1a..ae3adf03d8 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -100,6 +100,7 @@ _evas_object_intercept_call_internal(Evas_Object *eo_obj, { case EVAS_OBJECT_INTERCEPT_CB_VISIBLE: i = !!va_arg(args, int); + if (!obj->legacy.visible_set) obj->legacy.visible_set = 1; if (i == obj->cur->visible) return 1; if (!obj->interceptors) return 0; if (i) blocked = evas_object_intercept_call_show(eo_obj, obj);