From 33b31dc314cf71f3b1569f25756d69c6915168ff Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Fri, 6 Mar 2020 09:48:10 +0200
Subject: [PATCH] Attempt to avoid rare segfaults in show_mouse_face

* src/xdisp.c (show_mouse_face): Don't display the active region
if called on a frame different from the one recorded in HLINFO.
(Bug#37671)
---
 src/xdisp.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/xdisp.c b/src/xdisp.c
index 3a8b5e3f1d0..a4de2698ca0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -31454,6 +31454,10 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
   struct window *w = XWINDOW (hlinfo->mouse_face_window);
   struct frame *f = XFRAME (WINDOW_FRAME (w));
 
+  /* Don't bother doing anything if we are on a wrong frame.  */
+  if (f != hlinfo->mouse_face_mouse_frame)
+    return;
+
   if (/* If window is in the process of being destroyed, don't bother
 	 to do anything.  */
       w->current_matrix != NULL
-- 
2.39.5