Add C conversion constructors to fix leak of default-constructed empty arrays
parent
aba8766618
commit
66c671b59d
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -261,14 +261,12 @@ Variant::operator RID() const {
|
|||
}
|
||||
|
||||
Variant::operator Dictionary() const {
|
||||
Dictionary ret;
|
||||
*(godot_dictionary *)&ret = godot::api->godot_variant_as_dictionary(&_godot_variant);
|
||||
Dictionary ret(godot::api->godot_variant_as_dictionary(&_godot_variant));
|
||||
return ret;
|
||||
}
|
||||
|
||||
Variant::operator Array() const {
|
||||
Array ret;
|
||||
*(godot_array *)&ret = godot::api->godot_variant_as_array(&_godot_variant);
|
||||
Array ret(godot::api->godot_variant_as_array(&_godot_variant));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue