summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-12-09 15:09:29 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-11 13:40:14 +0100
commit37f99502f9006c5681686e4a43bc80c2b1d0b089 (patch)
treea9f33c841648f00131d638daf1aa2b70a62420c6
parent7fef5fe2932401294dea8edac7a64f4e5864c98f (diff)
iOS: Fix failing assert in QUIView displayLayer()
In layoutSubviews we take the root viewcontroller position into account when determening the new QWindow geometry, but we were missing this logic in displayLayer, and would assert if the in-call statusbar was visible. Since we don't really need the position of the window in displayLayer, we change the assert to only check the size of the exposed area, which is independent of the position of the root viewcontroller. Change-Id: I774b8d9b075518e729f488a789b3a9e584c3f4d3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
-rw-r--r--src/plugins/platforms/ios/qioswindow.mm7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm
index 1acd9ee354..7a0ff055ec 100644
--- a/src/plugins/platforms/ios/qioswindow.mm
+++ b/src/plugins/platforms/ios/qioswindow.mm
@@ -204,11 +204,12 @@
- (void)displayLayer:(CALayer *)layer
{
- QRect geometry = fromCGRect(layer.frame).toRect();
- Q_ASSERT(m_qioswindow->geometry() == geometry);
+ QSize bounds = fromCGRect(layer.bounds).toRect().size();
+
+ Q_ASSERT(m_qioswindow->geometry().size() == bounds);
Q_ASSERT(self.hidden == !m_qioswindow->window()->isVisible());
- QRegion region = self.hidden ? QRegion() : QRect(QPoint(), geometry.size());
+ QRegion region = self.hidden ? QRegion() : QRect(QPoint(), bounds);
QWindowSystemInterface::handleExposeEvent(m_qioswindow->window(), region);
QWindowSystemInterface::flushWindowSystemEvents();
}