summaryrefslogtreecommitdiffstats
path: root/include/core/Variant.hpp
diff options
context:
space:
mode:
authorMarc <marc.gilleron@gmail.com>2021-01-31 20:15:44 +0000
committerGitHub <noreply@github.com>2021-01-31 20:15:44 +0000
commite8de1fa2a5e2974c273fde35bc5ecac375ae98ec (patch)
tree286a8e2e25c18fe11f346835b3021afae2e9b77f /include/core/Variant.hpp
parent05ba977cc60653952b73dc03498ebc7a93cef120 (diff)
parentb400dba87534640eeddbcdb6b319335a6a7639d8 (diff)
downloadredot-cpp-e8de1fa2a5e2974c273fde35bc5ecac375ae98ec.tar.gz
Merge pull request #490 from Zylann/container_leaks
Fix container and string leaks
Diffstat (limited to 'include/core/Variant.hpp')
-rw-r--r--include/core/Variant.hpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/core/Variant.hpp b/include/core/Variant.hpp
index 5f40013..872a5a4 100644
--- a/include/core/Variant.hpp
+++ b/include/core/Variant.hpp
@@ -31,6 +31,11 @@ class Array;
class Variant {
godot_variant _godot_variant;
+ friend class Array;
+ inline explicit Variant(godot_variant v) {
+ _godot_variant = v;
+ }
+
public:
enum Type {
@@ -226,7 +231,9 @@ public:
operator NodePath() const;
operator RID() const;
operator godot_object *() const;
- template <typename T> operator T*() const { return static_cast<T*>(T::___get_from_variant(*this)); }
+
+ template <typename T>
+ operator T *() const { return static_cast<T *>(T::___get_from_variant(*this)); }
operator Dictionary() const;
operator Array() const;