>From 21e4a39eea0da07afd419456a2b6d2df972c622b Mon Sep 17 00:00:00 2001 From: Alan Third Date: Thu, 6 Jul 2017 23:10:49 +0100 Subject: [PATCH] Use a run-time check for macOS Sierra tabbing support * src/nsterm.m (initFrameFromEmacs) [NS_IMPL_COCOA]: Switch from compile-time check to run-time. * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS. --- src/nsterm.h | 8 ++++++++ src/nsterm.m | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/nsterm.h b/src/nsterm.h index 0f1b36db7b..da221605b4 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -1317,6 +1317,14 @@ extern char gnustep_base_version[]; /* version tracking */ #ifdef __OBJC__ typedef NSUInteger NSWindowStyleMask; #endif + +/* Window tabbing mode enums are new too. */ +enum NSWindowTabbingMode + { + NSWindowTabbingModeAutomatic, + NSWindowTabbingModePreferred, + NSWindowTabbingModeDisallowed + }; #endif #endif /* HAVE_NS */ diff --git a/src/nsterm.m b/src/nsterm.m index bf83550b3d..f88b279987 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7073,9 +7073,9 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f /* 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_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - [win setTabbingMode: NSWindowTabbingModeDisallowed]; +#ifdef NS_IMPL_COCOA + if ([win respondsToSelector: @selector(setTabbingMode:)]) + [win setTabbingMode: NSWindowTabbingModeDisallowed]; #endif ns_window_num++; -- 2.12.0