iOS: Send expose event when a window changes the geometry.
When the EAGLView view changes its layout, it must send the expose event along with the geometry change. It is important to notify the render loop of the scene graph that the windows's geometry has changed. The render loop is waiting for the WM_Expose event and updates the scene's window size accordingly. See QSGRenderThread::event for reference. Without this notification, the geometry of window is updated, but the scene is rendered incorrectly, for example when the orientation of screen changes. Change-Id: If102014313de455cb1f44d772b478d2feae6dacf Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
This commit is contained in:
parent
d60e0c3bc1
commit
f45e12f91a
@ -142,6 +142,7 @@
|
||||
QRect geometry = fromCGRect(self.frame);
|
||||
m_qioswindow->QPlatformWindow::setGeometry(geometry);
|
||||
QWindowSystemInterface::handleGeometryChange(m_qioswindow->window(), geometry);
|
||||
QWindowSystemInterface::handleExposeEvent(m_qioswindow->window(), geometry);
|
||||
|
||||
// If we have a new size here we need to resize the FBO's corresponding buffers,
|
||||
// but we defer that to when the application calls makeCurrent.
|
||||
|
Loading…
Reference in New Issue
Block a user