summaryrefslogtreecommitdiff
path: root/src/nsterm.m
diff options
context:
space:
mode:
authorDavid Reitter <david.reitter@gmail.com>2015-11-07 08:32:59 -0500
committerDavid Reitter <david.reitter@gmail.com>2015-11-07 08:40:13 -0500
commit53def55b4391f43aecf18bc02b61e055e4b2edd3 (patch)
tree272b55015caba7ae379ad60b7b470a714d5b8034 /src/nsterm.m
parentfc61ea4fd744480dcd5cd174f4599e135752882a (diff)
downloademacs-53def55b4391f43aecf18bc02b61e055e4b2edd3.tar.gz
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.
Diffstat (limited to 'src/nsterm.m')
-rw-r--r--src/nsterm.m18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/nsterm.m b/src/nsterm.m
index b4ec553d7ee..9a2249c57bb 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