mirror of
https://github.com/glfw/glfw.git
synced 2025-10-03 21:30:57 +00:00
Merge 6249100980
into 8a4e939a10
This commit is contained in:
commit
f48eee4ca7
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user