From 89d3ea8d691016306ca23f26d1dc11e9f51baea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Camilla=20L=C3=B6wy?= Date: Thu, 24 Mar 2022 14:51:24 +0100 Subject: [PATCH] Wayland: Return our clipboard without roundtrips --- src/wl_window.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/wl_window.c b/src/wl_window.c index e887a4d0..647234e3 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -1726,6 +1726,9 @@ const char* _glfwGetClipboardStringWayland(void) return NULL; } + if (_glfw.wl.dataSource) + return _glfw.wl.clipboardSendString; + ret = pipe2(fds, O_CLOEXEC); 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]); - close(fds[1]); - // XXX: this is a huge hack, this function shouldn’t be synchronous! - handleEvents(NULL); + flushDisplay(); + close(fds[1]); for (;;) {