diff options
| author | Dominik Holland <dominik.holland@qt.io> | 2024-07-08 12:44:15 +0200 |
|---|---|---|
| committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-08-23 08:44:22 +0000 |
| commit | 9ebdb8b77cb467cea56f983773124e08bb4db059 (patch) | |
| tree | fc76777afa9bc58670b3c571485e3749ac819771 | |
| parent | 629bb4f89405362de20c09891a29c13496141f5c (diff) | |
Fix memory leak in QSGBatchRenderer
Make sure the also delete the ClipInfo and RenderNodeElement
in the shadow node.
Fixes: QTBUG-128283
Pick-to: 6.5 6.2 5.15
Change-Id: Ida00e4eefa0e0dd0ab518a141138561254303e41
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
(cherry picked from commit e94f211c970ff8a342e01400d855216f46372905)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8f389f2ce6060f36046980722937cb74c2a3c7d3)
| -rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index 2a654e5020..c093d71321 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -928,7 +928,14 @@ Renderer::~Renderer() Element *e = n->element(); if (!e->removed) m_elementsToDelete.add(e); + } else if (n->type() == QSGNode::ClipNodeType) { + delete n->clipInfo(); + } else if (n->type() == QSGNode::RenderNodeType) { + RenderNodeElement *e = n->renderNodeElement(); + if (!e->removed) + m_elementsToDelete.add(e); } + m_nodeAllocator.release(n); } |
