* 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.
This commit is contained in:
Gerd Moellmann 2000-02-05 16:50:32 +00:00
parent 71e1147d35
commit 59ddecde2a
2 changed files with 28 additions and 11 deletions

View file

@ -1,3 +1,11 @@
2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
* xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
area.
(x_display_cursor) [HAVE_X_I18N]: Don't set it here.
(XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
dispatch the event.
2000-02-04 Dave Love <fx@gnu.org>
* fileio.c: Remove some unused vars.

View file

@ -9490,10 +9490,24 @@ XTread_socket (sd, bufp, numchars, expected)
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 @@ x_display_and_set_cursor (w, on, hpos, vpos, x, y)
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 @@ x_display_cursor (w, on, hpos, vpos, x, y)
{
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;
}