diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-04-28 18:54:24 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-06-17 07:40:11 +0000 |
commit | bebf2acd9c58e3c55d1a394a101f0ae0ad2d83a2 (patch) | |
tree | 39618df7cd8b130e0af8a277bef10f6d645178ad /src/qml/jsruntime/qv4persistent_p.h | |
parent | 9d3ceda751eaa3e9c267c77c70a2d11a0409ab3d (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.h | 7 |
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) |