From 18eed144ca70dc7221a08393ced3081101338f0d Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Sat, 7 Jan 2023 00:48:40 +0200 Subject: [PATCH] Fix enum return value size. --- binding_generator.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/binding_generator.py b/binding_generator.py index ad81d4d5..529bf0d7 100644 --- a/binding_generator.py +++ b/binding_generator.py @@ -1363,7 +1363,12 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us if has_return: return_type = method["return_value"]["type"] meta_type = method["return_value"]["meta"] if "meta" in method["return_value"] else None - if is_pod_type(return_type) or is_variant(return_type) or is_enum(return_type): + if is_enum(return_type): + if method["is_static"]: + method_call += f"return ({get_gdextension_type(correct_type(return_type, meta_type))})internal::_call_native_mb_ret(___method_bind, nullptr" + else: + method_call += f"return ({get_gdextension_type(correct_type(return_type, meta_type))})internal::_call_native_mb_ret(___method_bind, _owner" + elif is_pod_type(return_type) or is_variant(return_type): if method["is_static"]: method_call += f"return internal::_call_native_mb_ret<{get_gdextension_type(correct_type(return_type, meta_type))}>(___method_bind, nullptr" else: