diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2016-07-25 09:25:11 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2016-08-04 06:21:40 +0000 |
commit | 0a4cebe6d35abe1019c0d86cf933af972dc8bc6c (patch) | |
tree | 049ae26d0bb28a95fe470f9ca21280ebdb0c1f12 /src | |
parent | f18e81a20d843b8f5b03a6d38a6e985227a42739 (diff) |
Fix recursion during aggressive GC
With aggressive GC enabled we may end up calling the GC recursively, which does
not work at all, so disable that.
Change-Id: I9ce0abbdb7b2bfa8499b33fd0be0d6e4a5212a15
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/memory/qv4mm.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/qml/memory/qv4mm.cpp b/src/qml/memory/qv4mm.cpp index 885784d7d3..7ab6d15041 100644 --- a/src/qml/memory/qv4mm.cpp +++ b/src/qml/memory/qv4mm.cpp @@ -42,6 +42,7 @@ #include <QTime> #include <QMap> +#include <QScopedValueRollback> #include <iostream> #include <cstdlib> @@ -542,6 +543,8 @@ void MemoryManager::runGC() return; } + QScopedValueRollback<bool> gcBlocker(m_d->gcBlocked, true); + if (!m_d->gcStats) { mark(); sweep(); |