aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_main.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-06-16 15:03:09 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-06-16 12:23:08 -0400
commite3126bd23f333e849dd99ff09e28dafcef66231f (patch)
treed999bdae3d52019e0aa7304b493f213d0fe4ce44 /src/lib/evas/canvas/evas_main.c
parentevas: change _evas_pointer_data_add() to return created pointer data (diff)
downloadefl-e3126bd23f333e849dd99ff09e28dafcef66231f.tar.gz
evas: create dummy seat data for wl/drm outputs, store some pointer data
with async device init, it's possible for mouse in/out/move events to be added by an application before the pointer devices are created. these are independent of devices, so store the state and apply when pointer devices are added fix https://phab.enlightenment.org/T5531
Diffstat (limited to 'src/lib/evas/canvas/evas_main.c')
-rw-r--r--src/lib/evas/canvas/evas_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index e7c37861d7..ae83bbe3d9 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -1025,7 +1025,11 @@ evas_output_method_set(Evas *eo_e, int render_method)
eina_streq(em->definition->name, "wayland_egl") ||
eina_streq(em->definition->name, "drm") ||
eina_streq(em->definition->name, "gl_drm")))
- return;
+ {
+ Evas_Pointer_Seat *pseat = calloc(1, sizeof(Evas_Pointer_Seat));
+ e->seats = eina_inlist_append(e->seats, EINA_INLIST_GET(pseat));
+ return;
+ }
e->default_seat = evas_device_add_full(eo_e, "default", "The default seat",
NULL, NULL, EVAS_DEVICE_CLASS_SEAT,