diff options
| -rw-r--r-- | src/frame.c | 7 |
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; |
