From 53def55b4391f43aecf18bc02b61e055e4b2edd3 Mon Sep 17 00:00:00 2001 From: David Reitter Date: Sat, 7 Nov 2015 08:32:59 -0500 Subject: [PATCH] Ignore fullscreen exit notifications on NS when frame is dead * nsterm.m (windowDidResize:,windowWillExitFullScreen:) (windowDidExitFullScreen:): Return if frame is dead. These functions may be called when a fullscreen frame is closed; they are called before, not after. May address Bug#21428. --- src/nsterm.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index b4ec553d7e..9a2249c57b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -6380,7 +6380,11 @@ not_in_argv (NSString *arg) - (void)windowDidResize: (NSNotification *)notification { NSTRACE ("windowDidResize"); - + if (!FRAME_LIVE_P (emacsframe)) + { + NSTRACE_MSG ("Ignored (frame dead)"); + return; + } if (emacsframe->output_data.ns->in_animation) { NSTRACE_MSG ("Ignored (in animation)"); @@ -6902,7 +6906,11 @@ not_in_argv (NSString *arg) - (void)windowWillExitFullScreen:(NSNotification *)notification { NSTRACE ("windowWillExitFullScreen"); - + if (!FRAME_LIVE_P (emacsframe)) + { + NSTRACE_MSG ("Ignored (frame dead)"); + return; + } if (next_maximized != -1) fs_before_fs = next_maximized; } @@ -6910,7 +6918,11 @@ not_in_argv (NSString *arg) - (void)windowDidExitFullScreen:(NSNotification *)notification { NSTRACE ("windowDidExitFullScreen"); - + if (!FRAME_LIVE_P (emacsframe)) + { + NSTRACE_MSG ("Ignored (frame dead)"); + return; + } [self setFSValue: fs_before_fs]; fs_before_fs = -1; #ifdef HAVE_NATIVE_FS -- 2.39.2