diff --git a/src/lib/evas/canvas/evas_key_grab.c b/src/lib/evas/canvas/evas_key_grab.c index 19b6594dc6..a9f94803af 100644 --- a/src/lib/evas/canvas/evas_key_grab.c +++ b/src/lib/evas/canvas/evas_key_grab.c @@ -108,11 +108,11 @@ evas_object_grabs_cleanup(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Protected while (obj->grabs) { Evas_Key_Grab *g = obj->grabs->data; + obj->layer->evas->grabs = + eina_list_remove(obj->layer->evas->grabs, g); + obj->grabs = eina_list_remove(obj->grabs, g); if (g->keyname) free(g->keyname); free(g); - obj->layer->evas->grabs = eina_list_remove(obj->layer->evas->grabs, - g); - obj->grabs = eina_list_remove(obj->grabs, g); } } }