aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2016-02-29 19:44:51 +0800
committerTim Blechmann <tim@klingt.org>2016-03-01 11:41:43 +0000
commit99a83c8bad03a071f867bab41ffb149b38238ed6 (patch)
treed549a3d1b529252ea370b41343fd9e0adcd71801 /src
parent2b55b531b095a991376a26599d503223a67ae946 (diff)
QQuickRenderControl: cleanup material cache on invalidate
invalidate() releases resources, but doesn't clean up the materialCache, resulting in a memory leak Change-Id: I3cf7b7a3b977bb9aa295ef1824c384bcdf9494f2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquickrendercontrol.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quick/items/qquickrendercontrol.cpp b/src/quick/items/qquickrendercontrol.cpp
index d00b02c005..fd8d354594 100644
--- a/src/quick/items/qquickrendercontrol.cpp
+++ b/src/quick/items/qquickrendercontrol.cpp
@@ -48,6 +48,8 @@
#include <QtQuick/private/qquickwindow_p.h>
#include <QtCore/private/qobject_p.h>
+#include <private/qquickshadereffectnode_p.h>
+
QT_BEGIN_NAMESPACE
extern Q_GUI_EXPORT QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha);
@@ -175,6 +177,8 @@ void QQuickRenderControlPrivate::windowDestroyed()
delete QQuickWindowPrivate::get(window)->animationController;
QQuickWindowPrivate::get(window)->animationController = 0;
+ QQuickShaderEffectMaterial::cleanupMaterialCache();
+
window = 0;
}
}