summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorGeorge L. Albany <Megacake1234@gmail.com>2024-11-13 03:25:37 +0000
committerGitHub <noreply@github.com>2024-11-13 03:25:37 +0000
commita089d372e877febb71e4b5365e567275c301e750 (patch)
tree98d7630d8587d265c655a53490c58a7831c3fff8 /src/core
parent8ca6bc2cfb90178d10c2a4a7c502242213bfa645 (diff)
parent2a18d3da32c47f8ac1eea7c05fe3bc9ba2affc82 (diff)
downloadredot-cpp-master.tar.gz
Merge pull request #7 from Spartan322/merge/c20a84eHEADmaster
Merge commit godotengine/godot-cpp@c20a84e
Diffstat (limited to 'src/core')
-rw-r--r--src/core/class_db.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/class_db.cpp b/src/core/class_db.cpp
index fd7d246..7a46f89 100644
--- a/src/core/class_db.cpp
+++ b/src/core/class_db.cpp
@@ -355,9 +355,14 @@ void ClassDB::add_virtual_method(const StringName &p_class, const MethodInfo &p_
if (mi.argument_count > 0) {
mi.arguments = (GDExtensionPropertyInfo *)memalloc(sizeof(GDExtensionPropertyInfo) * mi.argument_count);
mi.arguments_metadata = (GDExtensionClassMethodArgumentMetadata *)memalloc(sizeof(GDExtensionClassMethodArgumentMetadata) * mi.argument_count);
+ if (mi.argument_count != p_method.arguments_metadata.size()) {
+ WARN_PRINT("Mismatch argument metadata count for virtual method: " + String(p_class) + "::" + p_method.name);
+ }
for (uint32_t i = 0; i < mi.argument_count; i++) {
mi.arguments[i] = p_method.arguments[i]._to_gdextension();
- mi.arguments_metadata[i] = p_method.arguments_metadata[i];
+ if (i < p_method.arguments_metadata.size()) {
+ mi.arguments_metadata[i] = p_method.arguments_metadata[i];
+ }
}
} else {
mi.arguments = nullptr;