aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-01-24 16:01:17 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2018-01-24 16:18:51 -0500
commit067ec7bd5ca5f904b06d6b29bdd036f17992b55f (patch)
tree47416143c2e552d6d54fbae801db637f887879ca
parentecore-x: add more info to Ecore_X_Event_Xkb event (diff)
downloadefl-067ec7bd5ca5f904b06d6b29bdd036f17992b55f.tar.gz
ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event
this is only relevant to watchers of the ecore-x event if there is a keycode change @fix
-rw-r--r--src/lib/ecore_x/ecore_x_events.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c
index 51bf491d4b..61528cd5d1 100644
--- a/src/lib/ecore_x/ecore_x_events.c
+++ b/src/lib/ecore_x/ecore_x_events.c
@@ -2679,6 +2679,11 @@ _ecore_x_event_handle_xkb(XEvent *xevent)
xkbmapping = (XkbMapNotifyEvent *)xkbev;
XkbRefreshKeyboardMapping(xkbmapping);
}
+ else
+ {
+ XkbNewKeyboardNotifyEvent *xkbnkn = (void*)xkbev;
+ if (!(xkbnkn->changed & XkbNKN_KeycodesMask)) return;
+ }
ecore_event_add(ECORE_X_EVENT_XKB_NEWKBD_NOTIFY, NULL, free_hash, NULL);
eina_hash_add(emitted_events, &xkbev->new_kbd.serial, (void*) 1);
}