Commit 1576f1ad authored by Dave Love's avatar Dave Love

(x_window, x_window): Use use_xim.

parent 51f3cc3b
......@@ -2120,7 +2120,7 @@ static XFontSet xic_create_xfontset P_ ((struct frame *, char *));
static XIMStyle best_xim_style P_ ((XIMStyles *, XIMStyles *));
/* Supported XIM styles, ordered by preferenc. */
/* Supported XIM styles, ordered by preference. */
static XIMStyle supported_xim_styles[] =
{
......@@ -2578,9 +2578,8 @@ x_window (f, window_prompting, minibuffer_only)
#ifdef HAVE_X_I18N
FRAME_XIC (f) = NULL;
#ifdef USE_XIM
create_frame_xic (f);
#endif
if (use_xim)
create_frame_xic (f);
#endif
f->output_data.x->wm_hints.input = True;
......@@ -2657,31 +2656,32 @@ x_window (f)
#ifdef HAVE_X_I18N
FRAME_XIC (f) = NULL;
#ifdef USE_XIM
BLOCK_INPUT;
create_frame_xic (f);
if (FRAME_XIC (f))
{
/* XIM server might require some X events. */
unsigned long fevent = NoEventMask;
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
if (use_xim)
{
BLOCK_INPUT;
create_frame_xic (f);
if (FRAME_XIC (f))
{
/* XIM server might require some X events. */
unsigned long fevent = NoEventMask;
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
if (fevent != NoEventMask)
{
XSetWindowAttributes attributes;
XWindowAttributes wattr;
unsigned long attribute_mask;
XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
&wattr);
attributes.event_mask = wattr.your_event_mask | fevent;
attribute_mask = CWEventMask;
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
attribute_mask, &attributes);
}
}
UNBLOCK_INPUT;
#endif
if (fevent != NoEventMask)
{
XSetWindowAttributes attributes;
XWindowAttributes wattr;
unsigned long attribute_mask;
XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
&wattr);
attributes.event_mask = wattr.your_event_mask | fevent;
attribute_mask = CWEventMask;
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
attribute_mask, &attributes);
}
}
UNBLOCK_INPUT;
}
#endif
}
......@@ -2721,19 +2721,20 @@ x_window (f)
attribute_mask, &attributes);
#ifdef HAVE_X_I18N
#ifdef USE_XIM
create_frame_xic (f);
if (FRAME_XIC (f))
if use_xim
{
/* XIM server might require some X events. */
unsigned long fevent = NoEventMask;
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
attributes.event_mask |= fevent;
attribute_mask = CWEventMask;
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
attribute_mask, &attributes);
create_frame_xic (f);
if (FRAME_XIC (f))
{
/* XIM server might require some X events. */
unsigned long fevent = NoEventMask;
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
attributes.event_mask |= fevent;
attribute_mask = CWEventMask;
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
attribute_mask, &attributes);
}
}
#endif
#endif /* HAVE_X_I18N */
validate_x_resource_name ();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment