From a5bcf1dafdfc85b95daf50b51b4e01c668ed0b09 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 1 May 2017 00:10:12 +0200 Subject: [PATCH] Fix wxOSX view comparison callback signature for older SDKs Take NSView* in the callback used by [NSView sortSubviewsUsingFunction:context:] only when using 10.12 SDK, but not when using earlier ones, as the callback was still taking just "id" in them. --- src/osx/cocoa/window.mm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm index 0483ff9d5c..d43e28d1fa 100644 --- a/src/osx/cocoa/window.mm +++ b/src/osx/cocoa/window.mm @@ -2129,9 +2129,11 @@ bool wxWidgetCocoaImpl::ShowWithEffect(bool show, return ShowViewOrWindowWithEffect(m_wxPeer, show, effect, timeout); } -// To avoid warnings about incompatible pointer types with Xcode 7, we need to -// constrain the comparison function arguments instead of just using "id". -#if __has_feature(objc_kindof) +// To avoid warnings about incompatible pointer types with macOS 10.12 SDK (and +// maybe even earlier? This has changed at some time between 10.9 and 10.12), +// we need to constrain the comparison function arguments instead of just using +// "id". +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 && __has_feature(objc_kindof) typedef __kindof NSView* KindOfView; #else typedef id KindOfView;