Wayland: Return our clipboard without roundtrips

This commit is contained in:
Camilla Löwy 2022-03-24 14:51:24 +01:00
parent 990dc4b388
commit 89d3ea8d69

View File

@ -1726,6 +1726,9 @@ const char* _glfwGetClipboardStringWayland(void)
return NULL; return NULL;
} }
if (_glfw.wl.dataSource)
return _glfw.wl.clipboardSendString;
ret = pipe2(fds, O_CLOEXEC); ret = pipe2(fds, O_CLOEXEC);
if (ret < 0) if (ret < 0)
{ {
@ -1736,10 +1739,9 @@ const char* _glfwGetClipboardStringWayland(void)
} }
wl_data_offer_receive(_glfw.wl.dataOffer, "text/plain;charset=utf-8", fds[1]); wl_data_offer_receive(_glfw.wl.dataOffer, "text/plain;charset=utf-8", fds[1]);
close(fds[1]);
// XXX: this is a huge hack, this function shouldnt be synchronous! flushDisplay();
handleEvents(NULL); close(fds[1]);
for (;;) for (;;)
{ {