@@ -130,24 +130,24 @@ bool GDNativeClass_getunboundmethod(py_Ref self, py_Name name) {
130130 std::pair<GDNativeClass, py_Name> pair = stack->operator [](last_idx);
131131 stack->remove_at (last_idx);
132132
133- InternalArguments args;
134-
135133 Variant r_ret;
136134 GDExtensionCallError r_error;
137135 StringName method = python_name_to_godot (pair.second );
138136 if (pair.first .type == Variant::OBJECT) {
139- args.append (python_name_to_godot (pair.first .name ));
140- args.append (method);
137+ InternalArguments args (2 + argc - 1 );
138+ args.set (0 , python_name_to_godot (pair.first .name ));
139+ args.set (1 , method);
141140 for (int i = 1 ; i < argc; i++) {
142- args.append ( py_tovariant (&argv[i]));
141+ args.set (i + 1 , py_tovariant (&argv[i]));
143142 }
144143 ClassDBSingleton *singleton = ClassDBSingleton::get_singleton ();
145144 static GDExtensionMethodBindPtr _gde_method_bind = internal::gdextension_interface_classdb_get_method_bind (singleton->get_class_static ()._native_ptr (), StringName (" class_call_static" )._native_ptr (), 3344196419 );
146145 CHECK_METHOD_BIND_RET (_gde_method_bind, (Variant ()));
147146 internal::gdextension_interface_object_method_bind_call (_gde_method_bind, singleton->_owner , args.ptr (), args.size (), &r_ret, &r_error);
148147 } else {
148+ InternalArguments args (argc - 1 );
149149 for (int i = 1 ; i < argc; i++) {
150- args.append ( py_tovariant (&argv[i]));
150+ args.set (i - 1 , py_tovariant (&argv[i]));
151151 }
152152 godot::internal::gdextension_interface_variant_call_static (
153153 (GDExtensionVariantType)pair.first .type , &method, args.ptr (), args.size (), &r_ret, &r_error);
0 commit comments