diff options
| author | sheepandshepherd <sheepandshepherd@hotmail.com> | 2019-12-04 21:12:59 +0100 |
|---|---|---|
| committer | sheepandshepherd <sheepandshepherd@hotmail.com> | 2020-01-31 00:08:02 +0100 |
| commit | 66c671b59dece97d523478cae7c602de6d423aa4 (patch) | |
| tree | d2206102a8d43efeef21f3fe740ce3e36d4dbb6a /include/core | |
| parent | aba8766618c6aa40c6f7b40b513e8e47cfa807f4 (diff) | |
| download | redot-cpp-66c671b59dece97d523478cae7c602de6d423aa4.tar.gz | |
Add C conversion constructors to fix leak of default-constructed empty arrays
Diffstat (limited to 'include/core')
| -rw-r--r-- | include/core/Array.hpp | 5 | ||||
| -rw-r--r-- | include/core/Dictionary.hpp | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/core/Array.hpp b/include/core/Array.hpp index d766c54..3d13914 100644 --- a/include/core/Array.hpp +++ b/include/core/Array.hpp @@ -57,6 +57,11 @@ class Object; class Array { godot_array _godot_array; + friend class Variant; + inline explicit Array(const godot_array &other) { + _godot_array = other; + } + public: Array(); Array(const Array &other); diff --git a/include/core/Dictionary.hpp b/include/core/Dictionary.hpp index ec97602..7f40adc 100644 --- a/include/core/Dictionary.hpp +++ b/include/core/Dictionary.hpp @@ -12,6 +12,11 @@ namespace godot { class Dictionary { godot_dictionary _godot_dictionary; + friend Variant::operator Dictionary() const; + inline explicit Dictionary(const godot_dictionary &other) { + _godot_dictionary = other; + } + public: Dictionary(); Dictionary(const Dictionary &other); |
