From: Alan Third <alan@idiocy.org>
To: emacs-devel@gnu.org
Subject: macOS fullscreen crashes
Date: Fri, 30 Nov 2018 11:04:58 +0000 [thread overview]
Message-ID: <20181130110458.GA54580@breton.holly.idiocy.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 716 bytes --]
We still occasionally receive bug reports about crashes on macOS
10.12+ caused by macOS turning fullscreen windows into ‘tabbed’
windows. I’ve also seen it discussed in a few places round the web.
We currently have a compile‐time check to include code that fixes this
on 10.12+, and it can be over‐ridden if Emacs is being built on an
older version of macOS but is expected to run on 10.12+, however it is
clearly not doing the job.
I propose for Emacs 26.2 (and the master branch) that we remove the
compile‐time check and just use a run‐time check. This will result in
a compiler warning on macOS 10.11 and below, but will prevent crashes
everywhere.
Any thoughts?
Patch attached.
--
Alan Third
[-- Attachment #2: 0001-Remove-macOS-version-checks-for-tabbed-frames-bug-33.patch --]
[-- Type: text/plain, Size: 1525 bytes --]
From 4df81ee31f0f2cf9ca4f906d753cf7dd134cf64d Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Fri, 30 Nov 2018 10:50:44 +0000
Subject: [PATCH] Remove macOS version checks for tabbed frames (bug#33118)
* src/nsterm.m ([EmacsView initFrameFromEmacs:]) [NS_IMPL_COCOA]:
Remove compile-time version checks.
---
src/nsterm.m | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/nsterm.m b/src/nsterm.m
index 948dd1da2e..7a751b3868 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7397,14 +7397,16 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f
[NSApp registerServicesMenuSendTypes: ns_send_types
returnTypes: [NSArray array]];
+#if defined (NS_IMPL_COCOA)
/* macOS Sierra automatically enables tabbed windows. We can't
allow this to be enabled until it's available on a Free system.
- Currently it only happens by accident and is buggy anyway. */
-#if defined (NS_IMPL_COCOA) \
- && MAC_OS_X_VERSION_MAX_ALLOWED >= 101200
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
+ Currently it only happens by accident and is buggy anyway.
+
+ This will cause a build warning on older versions of macOS, but
+ limiting it to just 10.12+ has resulted in a number of crash
+ reports where Emacs was built on an older version of macOS than
+ it's being used on. */
if ([win respondsToSelector: @selector(setTabbingMode:)])
-#endif
[win setTabbingMode: NSWindowTabbingModeDisallowed];
#endif
--
2.19.1
next reply other threads:[~2018-11-30 11:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-30 11:04 Alan Third [this message]
2018-12-01 11:21 ` macOS fullscreen crashes Charles A. Roelli
2018-12-01 13:18 ` Alan Third
2018-12-01 14:45 ` Charles A. Roelli
2018-12-01 16:09 ` Alan Third
2018-12-01 16:50 ` Eli Zaretskii
2018-12-01 17:13 ` Alan Third
2018-12-01 17:46 ` Eli Zaretskii
2018-12-01 19:02 ` Alan Third
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181130110458.GA54580@breton.holly.idiocy.org \
--to=alan@idiocy.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.