X11: Handle Selection* events despite NULL window

X11 event processing currently discards events that can not be mapped to
a current GLFW window.  However, this breaks clipboard functionality by
failing to respond to SelectionRequest and SelectionClear events.

This commit moves processing of these important clipboard events to
before the NULL window test so that they are always considered.

Fixes #961.
Closes #963.
This commit is contained in:
A. Tombs 2017-03-07 18:24:31 +00:00 committed by Camilla Löwy
parent 798d7c6d68
commit 5ae781586f

View File

@ -957,6 +957,17 @@ static void processEvent(XEvent *event)
return; return;
} }
if (event->type == SelectionClear)
{
handleSelectionClear(event);
return;
}
else if (event->type == SelectionRequest)
{
handleSelectionRequest(event);
return;
}
window = findWindowByHandle(event->xany.window); window = findWindowByHandle(event->xany.window);
if (window == NULL) if (window == NULL)
{ {
@ -1476,18 +1487,6 @@ static void processEvent(XEvent *event)
return; return;
} }
case SelectionClear:
{
handleSelectionClear(event);
return;
}
case SelectionRequest:
{
handleSelectionRequest(event);
return;
}
case DestroyNotify: case DestroyNotify:
return; return;
} }