]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid handle terminal frames in pgtk_mouse_position.
authorYuuki Harano <masm+github@masm11.me>
Mon, 15 Nov 2021 16:19:12 +0000 (01:19 +0900)
committerYuuki Harano <masm+github@masm11.me>
Mon, 15 Nov 2021 16:19:12 +0000 (01:19 +0900)
Just above, f1 can become a selected frame, which may be a terminal
frame.  We can't call gtk_widget_get_window() for a terminal frame.

* src/pgtkterm.c (pgtk_mouse_position): Return if it is not a pgtk frame.

src/pgtkterm.c

index 0d258584c536ed5217bde0cc2c7e5d363c583bb6..5d39276a8840fa3a161608d018fb9480adc494af 100644 (file)
@@ -3350,6 +3350,13 @@ pgtk_mouse_position (struct frame **fp, int insist, Lisp_Object * bar_window,
        }
     }
 
+  /* f1 can be a terminal frame. */
+  if (f1 == NULL || !FRAME_PGTK_P (f1))
+    {
+      unblock_input ();
+      return;
+    }
+
   /* 2. get the display and the device. */
   win = gtk_widget_get_window (FRAME_GTK_WIDGET (f1));
   GdkDisplay *gdpy = gdk_window_get_display (win);