From af4f3969b759bc78fd39757c9994ca43a171dd95 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 8 Feb 2026 17:10:19 +0530 Subject: [PATCH] remove watch after all data is received on pipe --- glfw/wl_window.c | 1 + 1 file changed, 1 insertion(+) diff --git a/glfw/wl_window.c b/glfw/wl_window.c index f7ed769f3..e5a27f5af 100644 --- a/glfw/wl_window.c +++ b/glfw/wl_window.c @@ -2536,6 +2536,7 @@ _glfwPlatformReadAvailableDropData(GLFWwindow *w, GLFWDropEvent *ev, char *buffe if (offer->requested_drop_data[o].fd == fd) { ssize_t ret; do { ret = read(fd, buffer, sz); } while (ret < 0 && errno == EINTR); + if (ret <= 0) removeWatch(&_glfw.wl.eventLoopData, offer->requested_drop_data[o].watch_id); return ret < 0 ? -errno : ret; } }