summaryrefslogtreecommitdiff
path: root/src/lib/ecore_x/ecore_x_events.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ecore_x/ecore_x_events.c')
-rw-r--r--src/lib/ecore_x/ecore_x_events.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c
index 637ff0c546..a777b48053 100644
--- a/src/lib/ecore_x/ecore_x_events.c
+++ b/src/lib/ecore_x/ecore_x_events.c
@@ -2511,10 +2511,16 @@ _ecore_x_event_handle_xkb(XEvent *xevent)
2511 2511
2512 if (xkbev->any.xkb_type == XkbMapNotify) 2512 if (xkbev->any.xkb_type == XkbMapNotify)
2513 { 2513 {
2514 XkbMapNotifyEvent *xkbmapping; 2514 XkbMapNotifyEvent *xkbmapping = (XkbMapNotifyEvent *)xkbev;
2515 2515
2516 xkbmapping = (XkbMapNotifyEvent *)xkbev; 2516 _ecore_x_window_grab_suspend();
2517 _ecore_x_key_grab_suspend();
2518 XkbGetMap(_ecore_x_disp, XkbAllMapComponentsMask,
2519 xkbmapping->device);
2517 XkbRefreshKeyboardMapping(xkbmapping); 2520 XkbRefreshKeyboardMapping(xkbmapping);
2521 _ecore_x_modifiers_get();
2522 _ecore_x_window_grab_resume();
2523 _ecore_x_key_grab_resume();
2518 } 2524 }
2519 else 2525 else
2520 { 2526 {