diff options
author | Tim Blechmann <tim@klingt.org> | 2016-02-29 19:44:51 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2016-03-01 11:41:43 +0000 |
commit | 99a83c8bad03a071f867bab41ffb149b38238ed6 (patch) | |
tree | d549a3d1b529252ea370b41343fd9e0adcd71801 /src/quick/items/qquickrendercontrol.cpp | |
parent | 2b55b531b095a991376a26599d503223a67ae946 (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/quick/items/qquickrendercontrol.cpp')
-rw-r--r-- | src/quick/items/qquickrendercontrol.cpp | 4 |
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; } } |