aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgcontext_p.h
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@jollamobile.com>2014-01-22 10:26:14 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-22 15:51:31 +0100
commit52a9d06bb028a16d9cf9be563a8ad1df09023439 (patch)
tree4036a59dc99a7390afb4310ab584d489ee34d176 /src/quick/scenegraph/qsgcontext_p.h
parentabc1cb32727a94ddac07020759c3c97382477cf9 (diff)
Enforce texture cleanup to happen at the end of the sync phase.
This was ok for the threaded renderer, but for the single-threaded renderers where the event loop was spinning we could run the risk of scheduling a texture for deleteLater() and then cleaning it up before we got around to the sync phase. Task-number: QTBUG-35670 Change-Id: I92074294b427fd8ab2a1823ba79c7ac3b59094ec Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/quick/scenegraph/qsgcontext_p.h')
-rw-r--r--src/quick/scenegraph/qsgcontext_p.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/scenegraph/qsgcontext_p.h b/src/quick/scenegraph/qsgcontext_p.h
index c562a909c5..c1bf78a018 100644
--- a/src/quick/scenegraph/qsgcontext_p.h
+++ b/src/quick/scenegraph/qsgcontext_p.h
@@ -94,6 +94,7 @@ public:
virtual void invalidate();
virtual void renderNextFrame(QSGRenderer *renderer, GLuint fboId);
+ virtual void endSync();
virtual QSharedPointer<QSGDepthStencilBuffer> depthStencilBufferForFbo(QOpenGLFramebufferObject *fbo);
QSGDepthStencilBufferManager *depthStencilBufferManager();
@@ -124,6 +125,7 @@ protected:
QMutex m_mutex;
QHash<QQuickTextureFactory *, QSGTexture *> m_textures;
+ QSet<QSGTexture *> m_texturesToDelete;
QSGAtlasTexture::Manager *m_atlasManager;
QSGDepthStencilBufferManager *m_depthStencilManager;