discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6775b23212305c957f4447c708053585f361bb86
commit 6775b23212305c957f4447c708053585f361bb86 Author: Mike Blumenkrantz <[email protected]> Date: Fri May 26 16:34:10 2017 -0400 evas: better handle async device creation of default mouse instead of yolo setting the first pointer-ish device which is created, check to see if a better match for "default mouse" can be applied @fix --- src/lib/evas/canvas/evas_device.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_device.c b/src/lib/evas/canvas/evas_device.c index 2e7763aa1c..ae048e6cbc 100644 --- a/src/lib/evas/canvas/evas_device.c +++ b/src/lib/evas/canvas/evas_device.c @@ -190,7 +190,21 @@ evas_device_add_full(Evas *eo_e, const char *name, const char *desc, return NULL; } - if (!e->default_mouse) + if (e->default_mouse) + { + int x, y; + + if ((clas == EVAS_DEVICE_CLASS_MOUSE) && + (parent_dev == e->default_seat) && + (evas_device_class_get(e->default_mouse) != EVAS_DEVICE_CLASS_MOUSE)) + { + evas_pointer_canvas_xy_get(eo_e, &x, &y); + evas_event_feed_mouse_out(eo_e, 0, NULL); + e->default_mouse = dev; + evas_event_feed_mouse_in(eo_e, 0, NULL); + } + } + else e->default_mouse = dev; } --
