summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2014-09-02 15:49:12 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2014-09-03 10:13:38 +0200
commit633786483f3674816d6e5053de37f3bb0ae12e0e (patch)
tree048d9c456cbf91906fc315f376ad00cc1dd2b43e
parent9e62375b71cf32e9deebb8815c14bb0a2346747e (diff)
downloadqt-creator-633786483f3674816d6e5053de37f3bb0ae12e0e.tar.gz
VariableManager: Hopefully fix crash with int variables
Capturing const references in lambdas is potentially dangerous. Change-Id: I4b4ddc8dcb1e839e4ed919caccdf0010ed8e6a34 Task-number: QTCREATORBUG-12948 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
-rw-r--r--src/plugins/coreplugin/variablemanager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/coreplugin/variablemanager.cpp b/src/plugins/coreplugin/variablemanager.cpp
index e6ad21b9f4..6dae074116 100644
--- a/src/plugins/coreplugin/variablemanager.cpp
+++ b/src/plugins/coreplugin/variablemanager.cpp
@@ -253,8 +253,9 @@ void VariableManager::registerVariable(const QByteArray &variable,
void VariableManager::registerIntVariable(const QByteArray &variable,
const QString &description, const VariableManager::IntFunction &value)
{
+ const VariableManager::IntFunction valuecopy = value; // do not capture a reference in a lambda
registerVariable(variable, description,
- [value]() { return QString::number(value ? value() : 0); });
+ [valuecopy]() { return QString::number(valuecopy ? valuecopy() : 0); });
}
/*!