summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosscreen.mm
diff options
context:
space:
mode:
authorEduard Veleba <eduard.veleba@emtc.cz>2014-03-19 13:53:57 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-19 19:59:01 +0100
commit379238496d0bf339a717a311e91949deb2e45485 (patch)
tree214e105a4e713465510dc413ae4a78a9c4440894 /src/plugins/platforms/ios/qiosscreen.mm
parentaea988a3d96a9f9951c6e4c4e0ff8abca726c2ae (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.mm4
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();