From b5ed76ba9f22ea659e9e6a3daa32c68354920455 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 15 Jun 2019 09:19:20 +0100 Subject: [PATCH] evas - pointer in get - dont On walk inlist but O1 jump to last to walk inreverse we need to jump to last first then walk backwards... what we were doing is calling eina_inlist_last() which is defined to walk rather than that using list->last ... this totally got rid of _evas_event_object_list_raw_in_get() from my perf list ... and i was wondering how it got there to start with. this is such an obvious optimization... --- src/lib/evas/canvas/evas_events.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c index ca2a903ae4..19bcf2811c 100644 --- a/src/lib/evas/canvas/evas_events.c +++ b/src/lib/evas/canvas/evas_events.c @@ -379,7 +379,7 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List *in, spaces++; if (ilist) { - for (obj = _EINA_INLIST_CONTAINER(obj, eina_inlist_last(ilist)); + for (obj = _EINA_INLIST_CONTAINER(obj, ilist->last); obj; obj = _EINA_INLIST_CONTAINER(obj, EINA_INLIST_GET(obj)->prev)) {