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.
master
A. Tombs ago%!(EXTRA string=9 years) committed by Camilla Löwy
parent 798d7c6d68
commit 5ae781586f
  1. 23
      src/x11_window.c

@ -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;
} }

Loading…
Cancel
Save