summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgilzoide <gilzoide@gmail.com>2023-09-24 17:10:29 -0300
committergilzoide <gilzoide@gmail.com>2023-09-24 17:10:29 -0300
commit60dfa3445a84c479dd138c5ca26049fab69e3f01 (patch)
tree9a12780cb4fff048760bf49a3987dbbee718ba4d
parentc44c3d5ebf9826214efc971f0cbe047789af2575 (diff)
downloadredot-cpp-60dfa3445a84c479dd138c5ca26049fab69e3f01.tar.gz
Fix return value and r_valid value in Variant::iter_init and iter_next
-rw-r--r--src/variant/variant.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/variant/variant.cpp b/src/variant/variant.cpp
index 641f59c..db15be1 100644
--- a/src/variant/variant.cpp
+++ b/src/variant/variant.cpp
@@ -638,14 +638,16 @@ bool Variant::in(const Variant &index, bool *r_valid) const {
bool Variant::iter_init(Variant &r_iter, bool &r_valid) const {
GDExtensionBool valid;
- internal::gdextension_interface_variant_iter_init(_native_ptr(), r_iter._native_ptr(), &valid);
- return PtrToArg<bool>::convert(&valid);
+ GDExtensionBool result = internal::gdextension_interface_variant_iter_init(_native_ptr(), r_iter._native_ptr(), &valid);
+ r_valid = PtrToArg<bool>::convert(&valid);
+ return PtrToArg<bool>::convert(&result);
}
bool Variant::iter_next(Variant &r_iter, bool &r_valid) const {
GDExtensionBool valid;
- internal::gdextension_interface_variant_iter_next(_native_ptr(), r_iter._native_ptr(), &valid);
- return PtrToArg<bool>::convert(&valid);
+ GDExtensionBool result = internal::gdextension_interface_variant_iter_next(_native_ptr(), r_iter._native_ptr(), &valid);
+ r_valid = PtrToArg<bool>::convert(&valid);
+ return PtrToArg<bool>::convert(&result);
}
Variant Variant::iter_get(const Variant &r_iter, bool &r_valid) const {