From 6b896480984a66f6d87a1e573d130ca38dde4bde Mon Sep 17 00:00:00 2001
From: =?utf8?q?Gerd=20M=C3=B6llmann?= <gerd.moellmann@gmail.com>
Date: Mon, 24 Feb 2025 05:48:29 +0100
Subject: [PATCH] Handle case of not knowing a frame when mouse moved

* lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): Don't call
display--update-for-mouse-movement if we don't have a frame.

(cherry picked from commit 02fbdbf4ff628fe4ee6112a57d63a14445726215)
---
 lisp/xt-mouse.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 250f4efebb4..94b3f08de96 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -133,9 +133,11 @@ https://invisible-island.net/xterm/ctlseqs/ctlseqs.html)."
 
 (defun xterm-mouse--handle-mouse-movement ()
   "Handle mouse motion that was just generated for XTerm mouse."
-  (display--update-for-mouse-movement (terminal-parameter nil 'xterm-mouse-frame)
-                                      (terminal-parameter nil 'xterm-mouse-x)
-                                      (terminal-parameter nil 'xterm-mouse-y)))
+  (when-let* ((frame (terminal-parameter nil 'xterm-mouse-frame)))
+    (display--update-for-mouse-movement
+     frame
+     (terminal-parameter nil 'xterm-mouse-x)
+     (terminal-parameter nil 'xterm-mouse-y))))
 
 ;; These two variables have been converted to terminal parameters.
 ;;
-- 
2.39.5