diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/src/xterm.c b/src/xterm.c index 13f5800bb70..5b97da36ba1 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -11759,32 +11759,34 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 11759 | 11759 | ||
| 11760 | case XI_KeyRelease: | 11760 | case XI_KeyRelease: |
| 11761 | #if defined HAVE_X_I18N || defined USE_GTK | 11761 | #if defined HAVE_X_I18N || defined USE_GTK |
| 11762 | XKeyPressedEvent xkey; | 11762 | { |
| 11763 | 11763 | XKeyPressedEvent xkey; | |
| 11764 | memset (&xkey, 0, sizeof xkey); | 11764 | |
| 11765 | 11765 | memset (&xkey, 0, sizeof xkey); | |
| 11766 | xkey.type = KeyRelease; | 11766 | |
| 11767 | xkey.serial = xev->serial; | 11767 | xkey.type = KeyRelease; |
| 11768 | xkey.send_event = xev->send_event; | 11768 | xkey.serial = xev->serial; |
| 11769 | xkey.display = dpyinfo->display; | 11769 | xkey.send_event = xev->send_event; |
| 11770 | xkey.window = xev->event; | 11770 | xkey.display = dpyinfo->display; |
| 11771 | xkey.root = xev->root; | 11771 | xkey.window = xev->event; |
| 11772 | xkey.subwindow = xev->child; | 11772 | xkey.root = xev->root; |
| 11773 | xkey.time = xev->time; | 11773 | xkey.subwindow = xev->child; |
| 11774 | xkey.state = ((xev->mods.effective & ~(1 << 13 | 1 << 14)) | 11774 | xkey.time = xev->time; |
| 11775 | | (xev->group.effective << 13)); | 11775 | xkey.state = ((xev->mods.effective & ~(1 << 13 | 1 << 14)) |
| 11776 | xkey.keycode = xev->detail; | 11776 | | (xev->group.effective << 13)); |
| 11777 | xkey.same_screen = True; | 11777 | xkey.keycode = xev->detail; |
| 11778 | xkey.same_screen = True; | ||
| 11778 | 11779 | ||
| 11779 | #ifdef HAVE_X_I18N | 11780 | #ifdef HAVE_X_I18N |
| 11780 | if (x_filter_event (dpyinfo, (XEvent *) &xkey)) | 11781 | if (x_filter_event (dpyinfo, (XEvent *) &xkey)) |
| 11781 | *finish = X_EVENT_DROP; | 11782 | *finish = X_EVENT_DROP; |
| 11782 | #else | 11783 | #else |
| 11783 | f = x_any_window_to_frame (xkey->event); | 11784 | f = x_any_window_to_frame (xkey->event); |
| 11784 | 11785 | ||
| 11785 | if (f && xg_filter_key (f, event)) | 11786 | if (f && xg_filter_key (f, event)) |
| 11786 | *finish = X_EVENT_DROP; | 11787 | *finish = X_EVENT_DROP; |
| 11787 | #endif | 11788 | #endif |
| 11789 | } | ||
| 11788 | #endif | 11790 | #endif |
| 11789 | 11791 | ||
| 11790 | goto XI_OTHER; | 11792 | goto XI_OTHER; |