Skip to content

Commit 0a6a19e

Browse files
authored
Merge pull request godotengine#1253 from gilzoide/fix-variant-iteration-valid-flag
Fix return value and `r_valid` value in `Variant::iter_init` and `Variant::iter_next`
2 parents 5182624 + 60dfa34 commit 0a6a19e

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/variant/variant.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -638,14 +638,16 @@ bool Variant::in(const Variant &index, bool *r_valid) const {
638638

639639
bool Variant::iter_init(Variant &r_iter, bool &r_valid) const {
640640
GDExtensionBool valid;
641-
internal::gdextension_interface_variant_iter_init(_native_ptr(), r_iter._native_ptr(), &valid);
642-
return PtrToArg<bool>::convert(&valid);
641+
GDExtensionBool result = internal::gdextension_interface_variant_iter_init(_native_ptr(), r_iter._native_ptr(), &valid);
642+
r_valid = PtrToArg<bool>::convert(&valid);
643+
return PtrToArg<bool>::convert(&result);
643644
}
644645

645646
bool Variant::iter_next(Variant &r_iter, bool &r_valid) const {
646647
GDExtensionBool valid;
647-
internal::gdextension_interface_variant_iter_next(_native_ptr(), r_iter._native_ptr(), &valid);
648-
return PtrToArg<bool>::convert(&valid);
648+
GDExtensionBool result = internal::gdextension_interface_variant_iter_next(_native_ptr(), r_iter._native_ptr(), &valid);
649+
r_valid = PtrToArg<bool>::convert(&valid);
650+
return PtrToArg<bool>::convert(&result);
649651
}
650652

651653
Variant Variant::iter_get(const Variant &r_iter, bool &r_valid) const {

0 commit comments

Comments
 (0)