summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;