From b02fe1bfe7bc5daa503dc3a274570aad0d8dca5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 24 Aug 2018 15:41:42 +0200 Subject: Remove codepaths and checks for unsupported Apple platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We no longer support macOS 10.11, iOS/tvOS 10, or watchOS 3. Change-Id: Ide03d8fac06185ef4162ba75ee54a0adf6916905 Reviewed-by: Morten Johan Sørvig --- mkspecs/features/uikit/default_pre.prf | 2 - src/corelib/global/qlogging.cpp | 3 +- src/corelib/io/qfilesystemengine_unix.cpp | 32 ++++----- src/corelib/kernel/qcore_mac_p.h | 79 ++++------------------ .../platforms/cocoa/qcocoaapplicationdelegate.mm | 12 ++-- src/plugins/platforms/cocoa/qcocoabackingstore.mm | 5 -- src/plugins/platforms/cocoa/qnswindow.mm | 37 ++++------ src/plugins/platforms/ios/qiosintegration.mm | 6 +- src/plugins/platforms/ios/qiosscreen.mm | 7 +- src/plugins/platforms/ios/qiostextresponder.mm | 14 ++-- src/plugins/platforms/ios/quiview.mm | 45 ++++-------- src/plugins/styles/mac/qmacstyle_mac.mm | 7 -- src/testlib/qappletestlogger.cpp | 76 ++++++++++----------- tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp | 3 +- 14 files changed, 105 insertions(+), 223 deletions(-) diff --git a/mkspecs/features/uikit/default_pre.prf b/mkspecs/features/uikit/default_pre.prf index 6a44a67bca..ea6882fbc8 100644 --- a/mkspecs/features/uikit/default_pre.prf +++ b/mkspecs/features/uikit/default_pre.prf @@ -24,5 +24,3 @@ load(default_pre) !versionAtLeast(QMAKE_XCODE_VERSION, 4.3): \ error("This mkspec requires Xcode 4.3 or later") -ios:shared:!versionAtLeast(QMAKE_IOS_DEPLOYMENT_TARGET, 8.0): \ - QMAKE_IOS_DEPLOYMENT_TARGET = 8.0 diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp index 2aabaa2ffb..9f47b8eb98 100644 --- a/src/corelib/global/qlogging.cpp +++ b/src/corelib/global/qlogging.cpp @@ -1768,8 +1768,7 @@ static void qDefaultMessageHandler(QtMsgType type, const QMessageLogContext &con # elif defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) handledStderr |= android_default_message_handler(type, context, message); # elif defined(QT_USE_APPLE_UNIFIED_LOGGING) - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) - handledStderr |= AppleUnifiedLogger::messageHandler(type, context, message); + handledStderr |= AppleUnifiedLogger::messageHandler(type, context, message); # elif defined Q_OS_WASM handledStderr |= wasm_default_message_handler(type, context, message); # endif diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index eebf36416e..0159bc4128 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -76,9 +76,7 @@ #endif #if defined(Q_OS_DARWIN) -# if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(101200, 100000, 100000, 30000) -# include -# endif +# include # include // We cannot include (it's an Objective-C header), but // we need these declarations: @@ -1258,20 +1256,18 @@ bool QFileSystemEngine::createLink(const QFileSystemEntry &source, const QFileSy //static bool QFileSystemEngine::copyFile(const QFileSystemEntry &source, const QFileSystemEntry &target, QSystemError &error) { -#if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(101200, 100000, 100000, 30000) - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) { - if (::clonefile(source.nativeFilePath().constData(), - target.nativeFilePath().constData(), 0) == 0) - return true; - error = QSystemError(errno, QSystemError::StandardLibraryError); - return false; - } +#if defined(Q_OS_DARWIN) + if (::clonefile(source.nativeFilePath().constData(), + target.nativeFilePath().constData(), 0) == 0) + return true; + error = QSystemError(errno, QSystemError::StandardLibraryError); + return false; #else Q_UNUSED(source); Q_UNUSED(target); -#endif error = QSystemError(ENOSYS, QSystemError::StandardLibraryError); //Function not implemented return false; +#endif } //static @@ -1295,13 +1291,11 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy } #endif #if defined(Q_OS_DARWIN) && defined(RENAME_EXCL) - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) { - if (renameatx_np(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_EXCL) == 0) - return true; - if (errno != ENOTSUP) { - error = QSystemError(errno, QSystemError::StandardLibraryError); - return false; - } + if (renameatx_np(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_EXCL) == 0) + return true; + if (errno != ENOTSUP) { + error = QSystemError(errno, QSystemError::StandardLibraryError); + return false; } #endif diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h index 8f2714aa12..b14a494296 100644 --- a/src/corelib/kernel/qcore_mac_p.h +++ b/src/corelib/kernel/qcore_mac_p.h @@ -59,36 +59,6 @@ // -------------------------------------------------------------------------- -#if !defined(QT_BOOTSTRAPPED) && (QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) || !defined(Q_OS_MACOS)) -#define QT_USE_APPLE_ACTIVITIES - -#if defined(OS_ACTIVITY_OBJECT_API) -#error The file has already been included -#endif - -// We runtime-check all use of the activity APIs, so we can safely build -// with them included, even if the deployment target is macOS 10.11 -#if QT_MACOS_DEPLOYMENT_TARGET_BELOW(__MAC_10_12) -#undef __MAC_OS_X_VERSION_MIN_REQUIRED -#define __MAC_OS_X_VERSION_MIN_REQUIRED __MAC_10_12 -#define DID_OVERRIDE_DEPLOYMENT_TARGET -#endif - -#include -#if !OS_ACTIVITY_OBJECT_API -#error "Expected activity API to be available" -#endif - -#if defined(DID_OVERRIDE_DEPLOYMENT_TARGET) -#undef __MAC_OS_X_VERSION_MIN_REQUIRED -#define __MAC_OS_X_VERSION_MIN_REQUIRED __MAC_10_11 -#undef DID_OVERRIDE_DEPLOYMENT_TARGET -#endif - -#endif - -// -------------------------------------------------------------------------- - #if defined(QT_BOOTSTRAPPED) #include #else @@ -220,41 +190,31 @@ Q_CORE_EXPORT AppleApplication *qt_apple_sharedApplication(); // -------------------------------------------------------------------------- -#if !defined(QT_BOOTSTRAPPED) && (QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) || !defined(Q_OS_MACOS)) +#if !defined(QT_BOOTSTRAPPED) #define QT_USE_APPLE_UNIFIED_LOGGING QT_END_NAMESPACE #include - -// The compiler isn't smart enough to realize that we're calling these functions -// guarded by __builtin_available, so we need to also tag each function with the -// runtime requirements. -#include -#define OS_LOG_AVAILABILITY API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) QT_BEGIN_NAMESPACE class Q_CORE_EXPORT AppleUnifiedLogger { public: static bool messageHandler(QtMsgType msgType, const QMessageLogContext &context, const QString &message, - const QString &subsystem = QString()) OS_LOG_AVAILABILITY; + const QString &subsystem = QString()); private: - static os_log_type_t logTypeForMessageType(QtMsgType msgType) OS_LOG_AVAILABILITY; - static os_log_t cachedLog(const QString &subsystem, const QString &category) OS_LOG_AVAILABILITY; + static os_log_type_t logTypeForMessageType(QtMsgType msgType); + static os_log_t cachedLog(const QString &subsystem, const QString &category); }; -#undef OS_LOG_AVAILABILITY - #endif // -------------------------------------------------------------------------- -#if defined(QT_USE_APPLE_ACTIVITIES) +#if !defined(QT_BOOTSTRAPPED) QT_END_NAMESPACE -#include -#define OS_ACTIVITY_AVAILABILITY API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -#define OS_ACTIVITY_AVAILABILITY_CHECK __builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *) +#include QT_BEGIN_NAMESPACE template using QAppleOsType = QAppleRefCounted; @@ -263,7 +223,7 @@ class Q_CORE_EXPORT QAppleLogActivity { public: QAppleLogActivity() : activity(nullptr) {} - QAppleLogActivity(os_activity_t activity) OS_ACTIVITY_AVAILABILITY : activity(activity) {} + QAppleLogActivity(os_activity_t activity) : activity(activity) {} ~QAppleLogActivity() { if (activity) leave(); } QAppleLogActivity(const QAppleLogActivity &) = delete; @@ -284,21 +244,17 @@ public: QAppleLogActivity&& enter() { - if (activity) { - if (OS_ACTIVITY_AVAILABILITY_CHECK) - os_activity_scope_enter(static_cast(*this), &state); - } + if (activity) + os_activity_scope_enter(static_cast(*this), &state); return std::move(*this); } void leave() { - if (activity) { - if (OS_ACTIVITY_AVAILABILITY_CHECK) - os_activity_scope_leave(&state); - } + if (activity) + os_activity_scope_leave(&state); } - operator os_activity_t() OS_ACTIVITY_AVAILABILITY + operator os_activity_t() { return reinterpret_cast(static_cast(activity)); } @@ -312,9 +268,7 @@ private: #define QT_APPLE_LOG_ACTIVITY_CREATE(condition, description, parent) []() { \ if (!(condition)) \ return QAppleLogActivity(); \ - if (OS_ACTIVITY_AVAILABILITY_CHECK) \ - return QAppleLogActivity(os_activity_create(description, parent, OS_ACTIVITY_FLAG_DEFAULT)); \ - return QAppleLogActivity(); \ + return QAppleLogActivity(os_activity_create(description, parent, OS_ACTIVITY_FLAG_DEFAULT)); \ }() #define QT_VA_ARGS_CHOOSE(_1, _2, _3, _4, _5, _6, _7, _8, _9, N, ...) N @@ -335,12 +289,7 @@ QT_MAC_WEAK_IMPORT(_os_activity_current); #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter(); -#else -// No-ops for macOS 10.11. We don't need to provide QT_APPLE_SCOPED_LOG_ACTIVITY, -// as all the call sites for that are in code that's only built on 10.12 and above. -#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...) -#define QT_APPLE_LOG_ACTIVITY(...) -#endif // QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE +#endif // !defined(QT_BOOTSTRAPPED) // ------------------------------------------------------------------------- diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm index 7601fb7e17..221a8b0866 100644 --- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm +++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm @@ -267,13 +267,11 @@ QT_USE_NAMESPACE inLaunch = false; if (qEnvironmentVariableIsEmpty("QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM")) { - if (__builtin_available(macOS 10.12, *)) { - // Move the application window to front to avoid launching behind the terminal. - // Ignoring other apps is necessary (we must ignore the terminal), but makes - // Qt apps play slightly less nice with other apps when lanching from Finder - // (See the activateIgnoringOtherApps docs.) - [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; - } + // Move the application window to front to avoid launching behind the terminal. + // Ignoring other apps is necessary (we must ignore the terminal), but makes + // Qt apps play slightly less nice with other apps when lanching from Finder + // (See the activateIgnoringOtherApps docs.) + [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; } } diff --git a/src/plugins/platforms/cocoa/qcocoabackingstore.mm b/src/plugins/platforms/cocoa/qcocoabackingstore.mm index 13b4e2ecd1..81a0a7d040 100644 --- a/src/plugins/platforms/cocoa/qcocoabackingstore.mm +++ b/src/plugins/platforms/cocoa/qcocoabackingstore.mm @@ -67,11 +67,6 @@ QImage::Format QCocoaBackingStore::format() const return QRasterBackingStore::format(); } -#if !QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) -static const NSCompositingOperation NSCompositingOperationCopy = NSCompositeCopy; -static const NSCompositingOperation NSCompositingOperationSourceOver = NSCompositeSourceOver; -#endif - /*! Flushes the given \a region from the specified \a window onto the screen. diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm index c959fdd917..1ea49ad253 100644 --- a/src/plugins/platforms/cocoa/qnswindow.mm +++ b/src/plugins/platforms/cocoa/qnswindow.mm @@ -262,29 +262,20 @@ static bool isMouseEvent(NSEvent *ev) NSEnumerator *windowEnumerator = nullptr; NSApplication *application = [NSApplication sharedApplication]; -#if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) - if (__builtin_available(macOS 10.12, *)) { - // Unfortunately there's no NSWindowListOrderedBackToFront, - // so we have to manually reverse the order using an array. - NSMutableArray *windows = [NSMutableArray new]; - [application enumerateWindowsWithOptions:NSWindowListOrderedFrontToBack - usingBlock:^(NSWindow *window, BOOL *) { - // For some reason AppKit will give us nil-windows, skip those - if (!window) - return; - - [windows addObject:window]; - } - ]; - - windowEnumerator = windows.reverseObjectEnumerator; - } else -#endif - { - // No way to get ordered list of windows, so fall back to unordered, - // list, which typically corresponds to window creation order. - windowEnumerator = application.windows.objectEnumerator; - } + // Unfortunately there's no NSWindowListOrderedBackToFront, + // so we have to manually reverse the order using an array. + NSMutableArray *windows = [NSMutableArray new]; + [application enumerateWindowsWithOptions:NSWindowListOrderedFrontToBack + usingBlock:^(NSWindow *window, BOOL *) { + // For some reason AppKit will give us nil-windows, skip those + if (!window) + return; + + [windows addObject:window]; + } + ]; + + windowEnumerator = windows.reverseObjectEnumerator; for (NSWindow *window in windowEnumerator) { // We're meddling with normal and floating windows, so leave others alone diff --git a/src/plugins/platforms/ios/qiosintegration.mm b/src/plugins/platforms/ios/qiosintegration.mm index 9a5a0ab499..bec8354fcc 100644 --- a/src/plugins/platforms/ios/qiosintegration.mm +++ b/src/plugins/platforms/ios/qiosintegration.mm @@ -115,10 +115,8 @@ void QIOSIntegration::initialize() m_touchDevice = new QTouchDevice; m_touchDevice->setType(QTouchDevice::TouchScreen); QTouchDevice::Capabilities touchCapabilities = QTouchDevice::Position | QTouchDevice::NormalizedPosition; - if (__builtin_available(iOS 9, *)) { - if (mainScreen.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) - touchCapabilities |= QTouchDevice::Pressure; - } + if (mainScreen.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) + touchCapabilities |= QTouchDevice::Pressure; m_touchDevice->setCapabilities(touchCapabilities); QWindowSystemInterface::registerTouchDevice(m_touchDevice); #if QT_CONFIG(tabletevent) diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index f1121a102b..4f753be21a 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -456,12 +456,7 @@ qreal QIOSScreen::devicePixelRatio() const qreal QIOSScreen::refreshRate() const { -#if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_NA, 100300, 110000, __WATCHOS_NA) - if (__builtin_available(iOS 10.3, tvOS 11, *)) - return m_uiScreen.maximumFramesPerSecond; -#endif - - return 60.0; + return m_uiScreen.maximumFramesPerSecond; } Qt::ScreenOrientation QIOSScreen::nativeOrientation() const diff --git a/src/plugins/platforms/ios/qiostextresponder.mm b/src/plugins/platforms/ios/qiostextresponder.mm index 91a088ede1..396c769be8 100644 --- a/src/plugins/platforms/ios/qiostextresponder.mm +++ b/src/plugins/platforms/ios/qiostextresponder.mm @@ -244,17 +244,15 @@ self.inputAccessoryView = [[[WrapperView alloc] initWithView:accessoryView] autorelease]; #ifndef Q_OS_TVOS - if (__builtin_available(iOS 9, *)) { - if (platformData.value(kImePlatformDataHideShortcutsBar).toBool()) { - // According to the docs, leadingBarButtonGroups/trailingBarButtonGroups should be set to nil to hide the shortcuts bar. - // However, starting with iOS 10, the API has been surrounded with NS_ASSUME_NONNULL, which contradicts this and causes - // compiler warnings. Still it is the way to go to really hide the space reserved for that. + if (platformData.value(kImePlatformDataHideShortcutsBar).toBool()) { + // According to the docs, leadingBarButtonGroups/trailingBarButtonGroups should be set to nil to hide the shortcuts bar. + // However, starting with iOS 10, the API has been surrounded with NS_ASSUME_NONNULL, which contradicts this and causes + // compiler warnings. Still it is the way to go to really hide the space reserved for that. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wnonnull" - self.inputAssistantItem.leadingBarButtonGroups = nil; - self.inputAssistantItem.trailingBarButtonGroups = nil; + self.inputAssistantItem.leadingBarButtonGroups = nil; + self.inputAssistantItem.trailingBarButtonGroups = nil; #pragma clang diagnostic pop - } } #endif diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm index de60bd7c36..e64c05d099 100644 --- a/src/plugins/platforms/ios/quiview.mm +++ b/src/plugins/platforms/ios/quiview.mm @@ -128,21 +128,17 @@ Q_LOGGING_CATEGORY(lcQpaTablet, "qt.qpa.input.tablet") self.layer.borderWidth = 1.0; } -#if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_NA, 110000, 110000, __WATCHOS_NA) if (qEnvironmentVariableIsSet("QT_IOS_DEBUG_WINDOW_SAFE_AREAS")) { - if (__builtin_available(iOS 11, tvOS 11, *)) { - UIView *safeAreaOverlay = [[UIView alloc] initWithFrame:CGRectZero]; - [safeAreaOverlay setBackgroundColor:[UIColor colorWithRed:0.3 green:0.7 blue:0.9 alpha:0.3]]; - [self addSubview:safeAreaOverlay]; - - safeAreaOverlay.translatesAutoresizingMaskIntoConstraints = NO; - [safeAreaOverlay.topAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.topAnchor].active = YES; - [safeAreaOverlay.leftAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.leftAnchor].active = YES; - [safeAreaOverlay.rightAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.rightAnchor].active = YES; - [safeAreaOverlay.bottomAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.bottomAnchor].active = YES; - } + UIView *safeAreaOverlay = [[UIView alloc] initWithFrame:CGRectZero]; + [safeAreaOverlay setBackgroundColor:[UIColor colorWithRed:0.3 green:0.7 blue:0.9 alpha:0.3]]; + [self addSubview:safeAreaOverlay]; + + safeAreaOverlay.translatesAutoresizingMaskIntoConstraints = NO; + [safeAreaOverlay.topAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.topAnchor].active = YES; + [safeAreaOverlay.leftAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.leftAnchor].active = YES; + [safeAreaOverlay.rightAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.rightAnchor].active = YES; + [safeAreaOverlay.bottomAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.bottomAnchor].active = YES; } -#endif } return self; @@ -355,12 +351,10 @@ Q_LOGGING_CATEGORY(lcQpaTablet, "qt.qpa.input.tablet") QTouchDevice *touchDevice = QIOSIntegration::instance()->touchDevice(); QTouchDevice::Capabilities touchCapabilities = touchDevice->capabilities(); - if (__builtin_available(iOS 9, *)) { - if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) - touchCapabilities |= QTouchDevice::Pressure; - else - touchCapabilities &= ~QTouchDevice::Pressure; - } + if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) + touchCapabilities |= QTouchDevice::Pressure; + else + touchCapabilities &= ~QTouchDevice::Pressure; touchDevice->setCapabilities(touchCapabilities); } @@ -668,18 +662,7 @@ Q_LOGGING_CATEGORY(lcQpaTablet, "qt.qpa.input.tablet") - (UIEdgeInsets)qt_safeAreaInsets { -#if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_NA, 110000, 110000, __WATCHOS_NA) - if (__builtin_available(iOS 11, tvOS 11, *)) - return self.safeAreaInsets; -#endif - - // Fallback for iOS < 11 - UIEdgeInsets safeAreaInsets = UIEdgeInsetsZero; - CGPoint topInset = [self convertPoint:CGPointMake(0, self.viewController.topLayoutGuide.length) fromView:nil]; - CGPoint bottomInset = [self convertPoint:CGPointMake(0, self.viewController.bottomLayoutGuide.length) fromView:nil]; - safeAreaInsets.top = topInset.y; - safeAreaInsets.bottom = bottomInset.y; - return safeAreaInsets; + return self.safeAreaInsets; } @end diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm index dd7959f3cf..dbf8a0c2e8 100644 --- a/src/plugins/styles/mac/qmacstyle_mac.mm +++ b/src/plugins/styles/mac/qmacstyle_mac.mm @@ -1735,17 +1735,10 @@ NSView *QMacStylePrivate::cocoaControl(CocoaControl widget) const } Q_UNREACHABLE(); } (); -#if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) const auto styleMask = NSWindowStyleMaskTitled | NSWindowStyleMaskClosable | NSWindowStyleMaskMiniaturizable | NSWindowStyleMaskResizable; -#else - const auto styleMask = NSTitledWindowMask - | NSClosableWindowMask - | NSMiniaturizableWindowMask - | NSResizableWindowMask; -#endif bv = [NSWindow standardWindowButton:button forStyleMask:styleMask]; [bv retain]; break; diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp index e970f008d2..2c1005ad80 100644 --- a/src/testlib/qappletestlogger.cpp +++ b/src/testlib/qappletestlogger.cpp @@ -52,10 +52,7 @@ bool QAppleTestLogger::debugLoggingEnabled() // Debug-level messages are only captured in memory when debug logging is // enabled through a configuration change, which can happen automatically // when running inside Xcode, or with the Console application open. - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) - return os_log_type_enabled(OS_LOG_DEFAULT, OS_LOG_TYPE_DEBUG); - - return false; + return os_log_type_enabled(OS_LOG_DEFAULT, OS_LOG_TYPE_DEBUG); } QAppleTestLogger::QAppleTestLogger(QAbstractTestLogger *logger) @@ -71,15 +68,13 @@ void QAppleTestLogger::enterTestFunction(const char *function) // Re-create activity each time testFunctionActivity = QT_APPLE_LOG_ACTIVITY("Running test function").enter(); - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) { - QTestCharBuffer testIdentifier; - QTestPrivate::generateTestIdentifier(&testIdentifier); - QString identifier = QString::fromLatin1(testIdentifier.data()); - QMessageLogContext context(nullptr, 0, nullptr, "qt.test.enter"); - QString message = identifier; - if (AppleUnifiedLogger::messageHandler(QtDebugMsg, context, message, identifier)) - return; // AUL already printed to stderr - } + QTestCharBuffer testIdentifier; + QTestPrivate::generateTestIdentifier(&testIdentifier); + QString identifier = QString::fromLatin1(testIdentifier.data()); + QMessageLogContext context(nullptr, 0, nullptr, "qt.test.enter"); + QString message = identifier; + if (AppleUnifiedLogger::messageHandler(QtDebugMsg, context, message, identifier)) + return; // AUL already printed to stderr m_logger->enterTestFunction(function); } @@ -113,41 +108,38 @@ static IncidentClassification incidentTypeToClassification(QAbstractTestLogger:: void QAppleTestLogger::addIncident(IncidentTypes type, const char *description, const char *file, int line) { - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) { - IncidentClassification incidentClassification = incidentTypeToClassification(type); - - QTestCharBuffer category; - QTest::qt_asprintf(&category, "qt.test.%s", incidentClassification.second); - QMessageLogContext context(file, line, /* function = */ nullptr, category.data()); - - QTestCharBuffer subsystemBuffer; - // It would be nice to have the data tag as part of the subsystem too, but that - // will for some tests results in hundreds of thousands of log objects being - // created, so we limit the subsystem to test functions, which we can hope - // are reasonably limited. - generateTestIdentifier(&subsystemBuffer, TestObject | TestFunction); - QString subsystem = QString::fromLatin1(subsystemBuffer.data()); - - // We still want the full identifier as part of the message though - QTestCharBuffer testIdentifier; - generateTestIdentifier(&testIdentifier); - QString message = QString::fromLatin1(testIdentifier.data()); - if (qstrlen(description)) - message += QLatin1Char('\n') % QString::fromLatin1(description); - - if (AppleUnifiedLogger::messageHandler(incidentClassification.first, context, message, subsystem)) - return; // AUL already printed to stderr - } + + IncidentClassification incidentClassification = incidentTypeToClassification(type); + + QTestCharBuffer category; + QTest::qt_asprintf(&category, "qt.test.%s", incidentClassification.second); + QMessageLogContext context(file, line, /* function = */ nullptr, category.data()); + + QTestCharBuffer subsystemBuffer; + // It would be nice to have the data tag as part of the subsystem too, but that + // will for some tests results in hundreds of thousands of log objects being + // created, so we limit the subsystem to test functions, which we can hope + // are reasonably limited. + generateTestIdentifier(&subsystemBuffer, TestObject | TestFunction); + QString subsystem = QString::fromLatin1(subsystemBuffer.data()); + + // We still want the full identifier as part of the message though + QTestCharBuffer testIdentifier; + generateTestIdentifier(&testIdentifier); + QString message = QString::fromLatin1(testIdentifier.data()); + if (qstrlen(description)) + message += QLatin1Char('\n') % QString::fromLatin1(description); + + if (AppleUnifiedLogger::messageHandler(incidentClassification.first, context, message, subsystem)) + return; // AUL already printed to stderr m_logger->addIncident(type, description, file, line); } void QAppleTestLogger::addMessage(QtMsgType type, const QMessageLogContext &context, const QString &message) { - if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) { - if (AppleUnifiedLogger::messageHandler(type, context, message)) - return; // AUL already printed to stderr - } + if (AppleUnifiedLogger::messageHandler(type, context, message)) + return; // AUL already printed to stderr m_logger->addMessage(type, context, message); } diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp index f004ec7856..927ba49f83 100644 --- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp +++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp @@ -456,8 +456,7 @@ void tst_QTimer::moveToThread() #if defined(Q_OS_WIN32) QSKIP("Does not work reliably on Windows :("); #elif defined(Q_OS_MACOS) - if (__builtin_available(macOS 10.12, *)) - QSKIP("Does not work reliably on macOS 10.12 (QTBUG-59679)"); + QSKIP("Does not work reliably on macOS 10.12+ (QTBUG-59679)"); #endif QTimer ti1; QTimer ti2; -- cgit v1.2.3