diff options
-rw-r--r-- | src/qml/compiler/qv4compilerscanfunctions_p.h | 3 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4script.cpp | 3 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4util_p.h | 20 |
3 files changed, 4 insertions, 22 deletions
diff --git a/src/qml/compiler/qv4compilerscanfunctions_p.h b/src/qml/compiler/qv4compilerscanfunctions_p.h index f2d8c2988d..4c273600b3 100644 --- a/src/qml/compiler/qv4compilerscanfunctions_p.h +++ b/src/qml/compiler/qv4compilerscanfunctions_p.h @@ -58,6 +58,7 @@ #include <private/qv4util_p.h> #include <QtCore/QStringList> #include <QStack> +#include <QScopedValueRollback> QT_BEGIN_NAMESPACE @@ -79,7 +80,7 @@ class Codegen; class ScanFunctions: protected QQmlJS::AST::Visitor { - typedef QV4::TemporaryAssignment<bool> TemporaryBoolAssignment; + typedef QScopedValueRollback<bool> TemporaryBoolAssignment; public: ScanFunctions(Codegen *cg, const QString &sourceCode, ContextType defaultProgramType); void operator()(AST::Node *node); diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index efd528860f..37c4f27ca9 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -57,6 +57,7 @@ #include <QtCore/QDebug> #include <QtCore/QString> +#include <QScopedValueRollback> using namespace QV4; @@ -154,7 +155,7 @@ ReturnedValue Script::run(const QV4::Value *thisObject) QV4::Scope valueScope(engine); if (qmlContext.isUndefined()) { - TemporaryAssignment<Function*> savedGlobalCode(engine->globalCode, vmFunction); + QScopedValueRollback<Function*> savedGlobalCode(engine->globalCode, vmFunction); return vmFunction->call(thisObject ? thisObject : engine->globalObject, nullptr, 0, context); diff --git a/src/qml/jsruntime/qv4util_p.h b/src/qml/jsruntime/qv4util_p.h index 2669a3e4bf..073832937d 100644 --- a/src/qml/jsruntime/qv4util_p.h +++ b/src/qml/jsruntime/qv4util_p.h @@ -59,26 +59,6 @@ QT_BEGIN_NAMESPACE namespace QV4 { -template <typename T> -struct TemporaryAssignment -{ - TemporaryAssignment(T &var, const T& temporaryValue) - : variable(var) - , savedValue(var) - { - variable = temporaryValue; - } - ~TemporaryAssignment() - { - variable = savedValue; - } - T &variable; - T savedValue; -private: - TemporaryAssignment(const TemporaryAssignment<T>&); - TemporaryAssignment operator=(const TemporaryAssignment<T>&); -}; - #if !defined(BROKEN_STD_VECTOR_BOOL_OR_BROKEN_STD_FIND) // Sanity: class BitVector |