blob: e5352ecabcdc09b9392a2510dbeae1aab64aeb8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
From 768f606cd3cd37c235e85225127201a42d272946 Mon Sep 17 00:00:00 2001
From: Joni Poikelin <joni.poikelin@qt.io>
Date: Thu, 17 Aug 2017 09:49:25 +0300
Subject: [PATCH] Fix memory leaks with threaded renderer
Reverts 39061af50cc3092289cdd71d17802139590ecb59 and calls endSync()
instead after syncSceneGraph().
Task-number: QTBUG-61754
Change-Id: I7b51ffdc93557bacd93927dd642ec3715980b21c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Roger Zanoni <rogerzanoni@gmail.com>
---
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
index 3a8e673c0..d28a73da2 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
@@ -553,6 +553,7 @@ void QSGRenderThread::sync(bool inExpose)
if (d->renderer)
d->renderer->clearChangedFlag();
d->syncSceneGraph();
+ sgrc->endSync();
if (!hadRenderer && d->renderer) {
qCDebug(QSG_LOG_RENDERLOOP) << QSG_RT_PAD << "- renderer was created";
syncResultedInChanges = true;
|