all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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


             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.