diff options
author | Eduard Veleba <eduard.veleba@emtc.cz> | 2014-03-19 13:53:57 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-19 19:59:01 +0100 |
commit | 379238496d0bf339a717a311e91949deb2e45485 (patch) | |
tree | 214e105a4e713465510dc413ae4a78a9c4440894 /src/plugins/platforms/ios/qiosscreen.mm | |
parent | aea988a3d96a9f9951c6e4c4e0ff8abca726c2ae (diff) |
Workaround for misbehaving [UIScreen screens] in iOS 7.1
On iOS 7.1 [UIScreen screens] sometimes returns empty NSArray which
is against documentation and causes immediate application crash.
This workaround uses [UIScreen mainScreen] in case [UIScreen screens]
returns empty NSArray.
Task-number: QTBUG-37601
Change-Id: I9b341b9ca788b5fc81804489d2e0a3af84207168
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Diffstat (limited to 'src/plugins/platforms/ios/qiosscreen.mm')
-rw-r--r-- | src/plugins/platforms/ios/qiosscreen.mm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index 96410952f9..5331d05ae9 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -120,7 +120,9 @@ static QString deviceModelIdentifier() QIOSScreen::QIOSScreen(unsigned int screenIndex) : QPlatformScreen() - , m_uiScreen([[UIScreen screens] objectAtIndex:qMin(NSUInteger(screenIndex), [[UIScreen screens] count] - 1)]) + , m_uiScreen([[UIScreen screens] count] > screenIndex + ? [[UIScreen screens] objectAtIndex:screenIndex] + : [UIScreen mainScreen]) , m_orientationListener(0) { QString deviceIdentifier = deviceModelIdentifier(); |