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!
This commit is contained in:
Jean-Philippe Andre 2017-08-29 10:55:56 +09:00
parent d920b36ab4
commit 9a816931a2
1 changed files with 1 additions and 0 deletions

View File

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