diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-06-02 18:23:44 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-06-02 18:23:42 -0400 |
commit | cde843438d3c84ca08e56f53371daa6f55e77eea (patch) | |
tree | 1358b7dbfaa76990cca5af9a9c3e2c1cee1b6c61 | |
parent | 8d08119fddf27d0ef49566cbac366af7b6beeb46 (diff) | |
download | efl-cde843438d3c84ca08e56f53371daa6f55e77eea.tar.gz |
ee wayland: only handle events for ee with matching display object
ensure apps with multiple client connections don't mix events from different
connections
@fix
-rw-r--r-- | src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c index 68f64b3a54..a6d5893b3d 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c @@ -702,6 +702,7 @@ _ecore_evas_wl_common_cb_global_added(void *d EINA_UNUSED, int t EINA_UNUSED, vo Eina_Bool already_present = EINA_FALSE; Ecore_Evas_Engine_Wl_Data *wdata = ee->engine.data; + if (ev->display != wdata->display) continue; EINA_LIST_FOREACH(wdata->devices_list, ll, device) { if (device->id == ev->id) @@ -752,6 +753,7 @@ _ecore_evas_wl_common_cb_global_removed(void *d EINA_UNUSED, int t EINA_UNUSED, Eina_Bool found = EINA_FALSE; wdata = ee->engine.data; + if (ev->display != wdata->display) continue; EINA_LIST_FOREACH(wdata->devices_list, ll, device) { @@ -791,6 +793,7 @@ _ecore_evas_wl_common_cb_seat_name_changed(void *d EINA_UNUSED, int t EINA_UNUSE EE_Wl_Device *device; wdata = ee->engine.data; + if (ev->display != wdata->display) continue; EINA_LIST_FOREACH(wdata->devices_list, ll, device) { @@ -818,6 +821,7 @@ _ecore_evas_wl_common_cb_seat_capabilities_changed(void *d EINA_UNUSED, int t EI EE_Wl_Device *device; wdata = ee->engine.data; + if (ev->display != wdata->display) continue; EINA_LIST_FOREACH(wdata->devices_list, ll, device) { |