summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-03-14 22:30:12 +0000
committerKarl Heuer <kwzh@gnu.org>1994-03-14 22:30:12 +0000
commit09907c3a85887a5d1ea230e317ee7b5c529946b8 (patch)
treeb04d19fc29fa32fb4866406f6149a74775a410e6 /src
parent4ef7b4131689308fda0487a68db2ca6c10ec66cd (diff)
downloademacs-09907c3a85887a5d1ea230e317ee7b5c529946b8.tar.gz
(Fhandle_switch_frame): Ignore switch to dead frame.
Diffstat (limited to 'src')
-rw-r--r--src/frame.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/frame.c b/src/frame.c
index e7bdc953fb3..6a422d037a2 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -363,7 +363,12 @@ to that frame.")
&& CONSP (XCONS (frame)->cdr))
frame = XCONS (XCONS (frame)->cdr)->car;
- CHECK_LIVE_FRAME (frame, 0);
+ /* This used to say CHECK_LIVE_FRAME, but apparently it's possible for
+ a switch-frame event to arrive after a frame is no longer live,
+ especially when deleting the initial frame during startup. */
+ CHECK_FRAME (frame, 0);
+ if (! FRAME_LIVE_P (XFRAME (frame)))
+ return Qnil;
if (selected_frame == XFRAME (frame))
return frame;