summaryrefslogtreecommitdiffstats
path: root/src/render/backend/rendertechnique.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-07-17 17:31:08 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-07-22 19:32:30 +0200
commit9ac64d1aa090416db7aec00d1136b8d625e40a2c (patch)
treebc3adc463e953dd4ad5e543d713956d6109f04f3 /src/render/backend/rendertechnique.cpp
parent0f0bf28b05e5d08767aa98f83dc6d5c898cdcc17 (diff)
QResourcesManager cleanup
If a resource managed by a QResourcesManager has declared a Q_DECLARE_RESOURCE_INFO(Resource, Q_REQUIRES_CLEANUP); in its header, a call to Resource->cleanup() will be performed when the resource is released. Note: Needs the next patch to compile Change-Id: Icef073c90f44a8e43a07adb5b9a496b86d7a4398 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend/rendertechnique.cpp')
-rw-r--r--src/render/backend/rendertechnique.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/render/backend/rendertechnique.cpp b/src/render/backend/rendertechnique.cpp
index be714ec26..1a1e431b1 100644
--- a/src/render/backend/rendertechnique.cpp
+++ b/src/render/backend/rendertechnique.cpp
@@ -66,6 +66,11 @@ RenderTechnique::RenderTechnique() :
RenderTechnique::~RenderTechnique()
{
+ cleanup();
+}
+
+void RenderTechnique::cleanup()
+{
if (m_renderer != Q_NULLPTR && m_peer != Q_NULLPTR)
m_renderer->rendererAspect()->aspectManager()->changeArbiter()->unregisterObserver(this, m_peer);
}