diff options
author | Tor Arne Vestbø <tor.arne.vestbo@digia.com> | 2013-11-11 15:17:56 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-14 19:26:20 +0100 |
commit | bb1225f5ba6f4bc5d7b8c2878d8f4ac492631c7f (patch) | |
tree | 68589736249f8aae5585543e9523b86bbb3faf12 /src/plugins/platforms/ios/qioscontext.h | |
parent | 18182a6275bb353dfb67ebc1562649e7624ccb0c (diff) | |
download | qtbase-bb1225f5ba6f4bc5d7b8c2878d8f4ac492631c7f.tar.gz |
iOS: Tie QIOSContext FBOs to corresponding QPlatformWindow, not QWindow
A QWindow may be created() and destroyed() multiple times in the lifetime
of the window, each time resulting in a new platform window (QIOSWindow)
being created. This QIOSWindow is backed by a new UIView each time, hence
it needs a new FBO and renderbuffer-mapping, since the previous
renderbuffer was mapped to the old UIView.
This fixes a bug where a QWindow would not render after a destroy()
unless it was resized (which triggered new FBO/renderbuffers).
We need to inherit QObject so that we can watch the destroyed() signal.
Change-Id: I93172dd6280b86b49755bf7abddf061d7e6b66f1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Diffstat (limited to 'src/plugins/platforms/ios/qioscontext.h')
-rw-r--r-- | src/plugins/platforms/ios/qioscontext.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/ios/qioscontext.h b/src/plugins/platforms/ios/qioscontext.h index 961661c5d3..c48a0251a9 100644 --- a/src/plugins/platforms/ios/qioscontext.h +++ b/src/plugins/platforms/ios/qioscontext.h @@ -48,6 +48,8 @@ QT_BEGIN_NAMESPACE +class QIOSWindow; + class QIOSContext : public QObject, public QPlatformOpenGLContext { Q_OBJECT @@ -87,7 +89,7 @@ private: static void deleteBuffers(const FramebufferObject &framebufferObject); - mutable QHash<QWindow *, FramebufferObject> m_framebufferObjects; + mutable QHash<QIOSWindow *, FramebufferObject> m_framebufferObjects; }; QT_END_NAMESPACE |