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)
{ {
@ -869,22 +865,20 @@ static void processEvent(XEvent *event)
if (window->x11.ic) if (window->x11.ic)
{ {
int i; // HACK: Ignore key press events intended solely for XIM
Status status; if (event->xkey.keycode)
wchar_t buffer[16];
if (filtered)
{ {
// HACK: Ignore key press events intended solely for XIM _glfwInputKey(window,
if (event->xkey.keycode) key, event->xkey.keycode,
{ GLFW_PRESS, mods);
_glfwInputKey(window,
key, event->xkey.keycode,
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)