diff options
| author | Eli Zaretskii | 2020-03-06 09:48:10 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2020-03-06 09:48:10 +0200 |
| commit | 33b31dc314cf71f3b1569f25756d69c6915168ff (patch) | |
| tree | aff7510b3b2e97ba76d6b12b28a7d090d49a15be /src | |
| parent | 88c6db91961945e4ede53d66216c2484f0c5342b (diff) | |
| download | emacs-33b31dc314cf71f3b1569f25756d69c6915168ff.tar.gz emacs-33b31dc314cf71f3b1569f25756d69c6915168ff.zip | |
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)
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 4 |
1 files changed, 4 insertions, 0 deletions
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) | |||
| 31454 | struct window *w = XWINDOW (hlinfo->mouse_face_window); | 31454 | struct window *w = XWINDOW (hlinfo->mouse_face_window); |
| 31455 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 31455 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 31456 | 31456 | ||
| 31457 | /* Don't bother doing anything if we are on a wrong frame. */ | ||
| 31458 | if (f != hlinfo->mouse_face_mouse_frame) | ||
| 31459 | return; | ||
| 31460 | |||
| 31457 | if (/* If window is in the process of being destroyed, don't bother | 31461 | if (/* If window is in the process of being destroyed, don't bother |
| 31458 | to do anything. */ | 31462 | to do anything. */ |
| 31459 | w->current_matrix != NULL | 31463 | w->current_matrix != NULL |