From 03cd5b3563e796fbab8ebe1c055b309c7f3fee1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 21 Nov 2013 16:32:00 +0100 Subject: iOS: Use separate release pool for qt_ios_version() QSysInfo::MacintoshVersion is initialized before the main thread's release pool has been set up, so we have to wrap the UIKit usage in our own pool. Change-Id: I80e2c068339e0251f38ecf55fcfb764594eb3ad7 Reviewed-by: Richard Moe Gustavsen --- src/corelib/kernel/qcore_mac_objc.mm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/corelib/kernel') diff --git a/src/corelib/kernel/qcore_mac_objc.mm b/src/corelib/kernel/qcore_mac_objc.mm index 8ea318073b..73f8296021 100644 --- a/src/corelib/kernel/qcore_mac_objc.mm +++ b/src/corelib/kernel/qcore_mac_objc.mm @@ -61,6 +61,8 @@ QString QCFString::toQString(const NSString *nsstr) #ifdef Q_OS_IOS QSysInfo::MacVersion qt_ios_version() { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + int major = 0, minor = 0; NSArray *components = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."]; switch ([components count]) { @@ -75,6 +77,9 @@ QSysInfo::MacVersion qt_ios_version() default: Q_UNREACHABLE(); } + + [pool release]; + return QSysInfo::MacVersion(Q_MV_IOS(major, minor)); } #endif -- cgit v1.2.3