From 31433ae8e4159d01ed57c334c72eb8593185b145 Mon Sep 17 00:00:00 2001 From: George Marques Date: Tue, 15 Jan 2019 19:50:48 -0200 Subject: GDScript: check for underscore prefix when type-checking Some classes are represented internally with an underscore prefix, so we need to make sure we match this representation when type-checking, otherwise the check might fail on a valid scenario. --- modules/gdscript/gdscript_function.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/gdscript/gdscript_function.h b/modules/gdscript/gdscript_function.h index aab1af1250..f4058664ff 100644 --- a/modules/gdscript/gdscript_function.h +++ b/modules/gdscript/gdscript_function.h @@ -74,8 +74,14 @@ struct GDScriptDataType { return false; } Object *obj = p_variant.operator Object *(); - if (obj && !ClassDB::is_parent_class(obj->get_class_name(), native_type)) { - return false; + if (obj) { + if (!ClassDB::is_parent_class(obj->get_class_name(), native_type)) { + // Try with underscore prefix + StringName underscore_native_type = "_" + native_type; + if (!ClassDB::is_parent_class(obj->get_class_name(), underscore_native_type)) { + return false; + } + } } return true; } break; -- cgit v1.2.3