From 2e0b4e38d4cd40da8881f771eb7c24ea9fa204c3 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 21 Aug 2018 10:26:37 -0400 Subject: [PATCH] elm/genlist: check for item invalidation after setting item focus on click Summary: if the item is deleted during a focus callback then the remainder of this function must be skipped in order to avoid crashing when attempting to access deallocated memory ref T7292 Reviewers: SanghyeonLee Reviewed By: SanghyeonLee Subscribers: cedric, #reviewers, #committers Tags: #efl_widgets Maniphest Tasks: T7292 Differential Revision: https://phab.enlightenment.org/D6831 --- src/lib/elementary/elm_genlist.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index ffe72da..c89e49c 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -5390,6 +5390,8 @@ _item_mouse_up_cb(void *data, if (sd->focused_item != EO_OBJ(it)) elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE); + if (efl_invalidated_get(EO_OBJ(it))) goto deleted; + if (sd->multi && ((sd->multi_select_mode != ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL) || (evas_key_modifier_is_set(ev->modifiers, "Control")))) -- 2.7.4