mirror of
https://github.com/glfw/glfw.git
synced 2025-10-03 13:20:58 +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)
|
||||||
{
|
{
|
||||||
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user