From 3d13cf1ca54eb7495ec957a70bfe347e3208fb2b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Mar 2026 09:43:36 +0000 Subject: [PATCH] Fix three bugs in mouse demo kitten DnD drop handling Fixes #9631 --- kitty/glfw.c | 2 +- tools/cmd/mouse_demo/main.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kitty/glfw.c b/kitty/glfw.c index ac23d34ff..f7baa4efd 100644 --- a/kitty/glfw.c +++ b/kitty/glfw.c @@ -851,7 +851,7 @@ on_drop(GLFWwindow *window, GLFWDropEvent *ev) { char buf[3072]; ssize_t ret = ev->read_data(window, ev, buf, sizeof(buf)); drop_dispatch_data(w, buf, ret); - if (ret <= 0) ev->finish_drop(window, GLFW_DRAG_OPERATION_GENERIC); + if (ret < 0) ev->finish_drop(window, GLFW_DRAG_OPERATION_GENERIC); } } } else { diff --git a/tools/cmd/mouse_demo/main.go b/tools/cmd/mouse_demo/main.go index 96d9ff774..c6b2dba36 100644 --- a/tools/cmd/mouse_demo/main.go +++ b/tools/cmd/mouse_demo/main.go @@ -296,9 +296,9 @@ func Run(args []string) (rc int, err error) { case "M": // Drop event from terminal dnd.dragging = false + dnd.reset_drop_data() mimes := strings.Fields(payload) dnd.drop_mimes = mimes - dnd.reset_drop_data() // Request data for text/plain first, then text/uri-list for _, m := range mimes { if m == "text/plain" { @@ -357,7 +357,7 @@ func Run(args []string) (rc int, err error) { draw_screen() } else { // Decode base64 payload and append to buffer - decoded, err := base64.StdEncoding.DecodeString(payload) + decoded, err := base64.RawStdEncoding.DecodeString(payload) if err == nil { dnd.collect_buf.Write(decoded) }