This commit is contained in:
Ioannis Tsakpinis 2015-08-07 14:40:13 +00:00
commit f48eee4ca7

View File

@ -844,10 +844,6 @@ static void leaveFullscreenMode(_GLFWwindow* window)
static void processEvent(XEvent *event) static void processEvent(XEvent *event)
{ {
_GLFWwindow* window = NULL; _GLFWwindow* window = NULL;
Bool filtered = False;
if (_glfw.x11.im)
filtered = XFilterEvent(event, None);
if (event->type != GenericEvent) if (event->type != GenericEvent)
{ {
@ -868,12 +864,6 @@ static void processEvent(XEvent *event)
const int plain = !(mods & (GLFW_MOD_CONTROL | GLFW_MOD_ALT)); const int plain = !(mods & (GLFW_MOD_CONTROL | GLFW_MOD_ALT));
if (window->x11.ic) if (window->x11.ic)
{
int i;
Status status;
wchar_t buffer[16];
if (filtered)
{ {
// HACK: Ignore key press events intended solely for XIM // HACK: Ignore key press events intended solely for XIM
if (event->xkey.keycode) if (event->xkey.keycode)
@ -882,9 +872,13 @@ static void processEvent(XEvent *event)
key, event->xkey.keycode, key, event->xkey.keycode,
GLFW_PRESS, mods); GLFW_PRESS, mods);
} }
}
else if (!XFilterEvent(event, None))
{ {
int i;
Status status;
wchar_t buffer[16];
const int count = XwcLookupString(window->x11.ic, const int count = XwcLookupString(window->x11.ic,
&event->xkey, &event->xkey,
buffer, sizeof(buffer), buffer, sizeof(buffer),
@ -1102,7 +1096,7 @@ static void processEvent(XEvent *event)
{ {
// Custom client message, probably from the window manager // Custom client message, probably from the window manager
if (filtered) if (_glfw.x11.im && XFilterEvent(event, None))
return; return;
if (event->xclient.message_type == None) if (event->xclient.message_type == None)