]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix some bugs with multiple terminals on Haiku
authorPo Lu <luangruo@yahoo.com>
Wed, 2 Mar 2022 05:21:20 +0000 (05:21 +0000)
committerPo Lu <luangruo@yahoo.com>
Wed, 2 Mar 2022 05:21:20 +0000 (05:21 +0000)
* src/haikuterm.c (haiku_mouse_position): Only clear
`mouse_moved' for Haiku frames.

src/haikuterm.c

index 7779b3168b79bdbb29a3b0de0b6073403f6cab0c..a765eb715df8156897bb828bef9d1f6b797f84b1 100644 (file)
@@ -2427,14 +2427,19 @@ haiku_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window,
                      enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y,
                      Time *timestamp)
 {
+  Lisp_Object frame, tail;
+  struct frame *f1 = NULL;
+
   if (!fp)
     return;
 
   block_input ();
-  Lisp_Object frame, tail;
-  struct frame *f1 = NULL;
+
   FOR_EACH_FRAME (tail, frame)
-    XFRAME (frame)->mouse_moved = false;
+    {
+      if (FRAME_HAIKU_P (XFRAME (frame)))
+       XFRAME (frame)->mouse_moved = false;
+    }
 
   if (gui_mouse_grabbed (x_display_list) && !EQ (track_mouse, Qdropping))
     f1 = x_display_list->last_mouse_frame;