Mercurial > emacs
changeset 27619:1d5c785bca99
* xterm.c (x_display_and_set_cursor): Set pre-edit area.
(x_display_cursor): Don't set it here.
(XTread_socket) [HAVE_X_I18N] <KeyPress, KeyRelease>: Don't
dispatch the event.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sat, 05 Feb 2000 16:47:08 +0000 |
parents | 3afff8dbcdac |
children | ee985b928a88 |
files | src/xterm.c |
diffstat | 1 files changed, 20 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.c Fri Feb 04 20:53:21 2000 +0000 +++ b/src/xterm.c Sat Feb 05 16:47:08 2000 +0000 @@ -9490,10 +9490,24 @@ else abort (); } +#ifdef HAVE_X_I18N + /* Don't dispatch this event since XtDispatchEvent calls + XFilterEvent, and two calls in a row may freeze the + client. */ + break; +#else goto OTHER; +#endif case KeyRelease: +#ifdef HAVE_X_I18N + /* Don't dispatch this event since XtDispatchEvent calls + XFilterEvent, and two calls in a row may freeze the + client. */ + break; +#else goto OTHER; +#endif /* Here's a possible interpretation of the whole FocusIn-EnterNotify FocusOut-LeaveNotify mess. If @@ -10387,6 +10401,12 @@ default: abort (); } + +#ifdef HAVE_X_I18N + if (w == XWINDOW (f->selected_window)) + if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMPreeditPosition)) + xic_set_preeditarea (w, x, y); +#endif } #ifndef XFlush @@ -10409,17 +10429,6 @@ { BLOCK_INPUT; x_display_and_set_cursor (w, on, hpos, vpos, x, y); - -#ifdef HAVE_X_I18N - { - struct frame *f = XFRAME (w->frame); - - if (w == XWINDOW (f->selected_window)) - if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMPreeditPosition)) - xic_set_preeditarea (w, x, y); - } -#endif - UNBLOCK_INPUT; }