aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2000-08-15 21:02:00 +0000
committerEli Zaretskii2000-08-15 21:02:00 +0000
commitb9f80d41be5cfadaec0c1a12653a50bf5ebb72fa (patch)
tree7548c61c6b5f9a4a9c4703d16a1d1f19e0ac6caa
parent58ed0d3bb14c8113214462e3b8046006d7384962 (diff)
downloademacs-b9f80d41be5cfadaec0c1a12653a50bf5ebb72fa.tar.gz
emacs-b9f80d41be5cfadaec0c1a12653a50bf5ebb72fa.zip
(IT_update_begin): Don't crash if mouse_face_mouse_frame
member of display_info is NULL.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/msdos.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a019ab9f34b..d471dc885f9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
4 member of display_info is NULL.
5
12000-08-15 Gerd Moellmann <gerd@gnu.org> 62000-08-15 Gerd Moellmann <gerd@gnu.org>
2 7
3 * alloc.c (compact_small_strings): Use safe_bcopy, add an 8 * alloc.c (compact_small_strings): Use safe_bcopy, add an
diff --git a/src/msdos.c b/src/msdos.c
index 9387f81ad20..a711f84cf13 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -1913,12 +1913,13 @@ static void
1913IT_update_begin (struct frame *f) 1913IT_update_begin (struct frame *f)
1914{ 1914{
1915 struct display_info *display_info = FRAME_X_DISPLAY_INFO (f); 1915 struct display_info *display_info = FRAME_X_DISPLAY_INFO (f);
1916 struct frame *mouse_face_frame = display_info->mouse_face_mouse_frame;
1916 1917
1917 highlight = 0; 1918 highlight = 0;
1918 1919
1919 BLOCK_INPUT; 1920 BLOCK_INPUT;
1920 1921
1921 if (f == display_info->mouse_face_mouse_frame) 1922 if (f && f == mouse_face_frame)
1922 { 1923 {
1923 /* Don't do highlighting for mouse motion during the update. */ 1924 /* Don't do highlighting for mouse motion during the update. */
1924 display_info->mouse_face_defer = 1; 1925 display_info->mouse_face_defer = 1;
@@ -1955,7 +1956,7 @@ IT_update_begin (struct frame *f)
1955 clear_mouse_face (display_info); 1956 clear_mouse_face (display_info);
1956 } 1957 }
1957 } 1958 }
1958 else if (!FRAME_LIVE_P (display_info->mouse_face_mouse_frame)) 1959 else if (mouse_face_frame && !FRAME_LIVE_P (mouse_face_frame))
1959 { 1960 {
1960 /* If the frame with mouse highlight was deleted, invalidate the 1961 /* If the frame with mouse highlight was deleted, invalidate the
1961 highlight info. */ 1962 highlight info. */
@@ -1986,7 +1987,7 @@ IT_frame_up_to_date (struct frame *f)
1986 struct window *sw; 1987 struct window *sw;
1987 1988
1988 if (dpyinfo->mouse_face_deferred_gc 1989 if (dpyinfo->mouse_face_deferred_gc
1989 || f == dpyinfo->mouse_face_mouse_frame) 1990 || (f && f == dpyinfo->mouse_face_mouse_frame))
1990 { 1991 {
1991 BLOCK_INPUT; 1992 BLOCK_INPUT;
1992 if (dpyinfo->mouse_face_mouse_frame) 1993 if (dpyinfo->mouse_face_mouse_frame)