jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9b1e785f8ebba618016dd217aa18835b4fb675b7
commit 9b1e785f8ebba618016dd217aa18835b4fb675b7 Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Mon Jun 12 17:39:34 2017 +0900 evas: Fix use of invalid EO object During a window destruction, the input devices are deleted and removed from the internal devices list. Since 83d18617b4375 basic devices are children of a seat, which means that the seat deletion was triggering the devices deletion as well. As a consequence, we were walking an invalid list of devices. I'm not sure we should have a list of children in the device data and I'm also not sure we should have a list of devices in evas, instead of just the list of seats. It's a bit messy right now. Ref T5540 --- src/lib/evas/canvas/evas_device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/evas/canvas/evas_device.c b/src/lib/evas/canvas/evas_device.c index 574f6e2ba7..783497ad98 100644 --- a/src/lib/evas/canvas/evas_device.c +++ b/src/lib/evas/canvas/evas_device.c @@ -207,6 +207,8 @@ evas_device_add_full(Evas *eo_e, const char *name, const char *desc, e->default_mouse = dev; } + // FIXME: All devices are in the same list, while evas only refs the seats + if (parent_dev) efl_ref(dev); e->devices = eina_list_append(e->devices, dev); efl_event_callback_add(dev, EFL_EVENT_DEL, _del_cb, e); --