hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=052f562c42a9ad1393e13a2f61e69015f113ee52
commit 052f562c42a9ad1393e13a2f61e69015f113ee52 Author: Hermet Park <[email protected]> Date: Fri Apr 24 21:00:39 2020 +0900 canvas layer: find the top item for only valids. In some case, top layer doesn't have valid objects, That case, we must find and return top object in the next layer. --- src/lib/evas/canvas/evas_stack.x | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/evas_stack.x b/src/lib/evas/canvas/evas_stack.x index 914d04731e..333932f4bd 100644 --- a/src/lib/evas/canvas/evas_stack.x +++ b/src/lib/evas/canvas/evas_stack.x @@ -400,8 +400,9 @@ _evas_canvas_object_top_get(const Eo *eo_e EINA_UNUSED, Evas_Public_Data *e) list = EINA_INLIST_GET(e->layers); if (!list) return NULL; - layer = (Evas_Layer *) list->last; - if (!layer) return NULL; + //just in case if layer has no valid objects in the list. + EINA_INLIST_REVERSE_FOREACH(list, layer) + if (layer->objects) break; list = EINA_INLIST_GET(layer->objects); if (!list) return NULL; --
