aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4persistent_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2015-04-28 18:54:24 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-06-17 07:40:11 +0000
commitbebf2acd9c58e3c55d1a394a101f0ae0ad2d83a2 (patch)
tree39618df7cd8b130e0af8a277bef10f6d645178ad /src/qml/jsruntime/qv4persistent_p.h
parent9d3ceda751eaa3e9c267c77c70a2d11a0409ab3d (diff)
Fix the RegExpCache to be GC safe
Change-Id: I6c20c2c5fcdaefa0743f7c1f50cf6dd8d8edc753 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/jsruntime/qv4persistent_p.h')
-rw-r--r--src/qml/jsruntime/qv4persistent_p.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4persistent_p.h b/src/qml/jsruntime/qv4persistent_p.h
index 90e62e7aac..858734e9ed 100644
--- a/src/qml/jsruntime/qv4persistent_p.h
+++ b/src/qml/jsruntime/qv4persistent_p.h
@@ -129,6 +129,7 @@ class Q_QML_EXPORT WeakValue
public:
WeakValue() : val(0) {}
WeakValue(const WeakValue &other);
+ WeakValue(ExecutionEngine *engine, const Value &value);
WeakValue &operator=(const WeakValue &other);
~WeakValue();
@@ -147,6 +148,12 @@ public:
return 0;
return val->as<Managed>();
}
+ template <typename T>
+ T *as() const {
+ if (!val)
+ return 0;
+ return val->as<T>();
+ }
ExecutionEngine *engine() const {
if (!val)