From 6628fe0469fcd8756f90aa7e0c6051f836b1cf7a Mon Sep 17 00:00:00 2001 From: EricEzaM Date: Sat, 24 Jul 2021 23:12:34 +1000 Subject: [PATCH] Fixed drag and drop not respecting type on exported arrays. --- editor/editor_properties_array_dict.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index be173c33dd4..f44dcd2f41b 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -428,6 +428,12 @@ void EditorPropertyArray::_button_draw() { bool EditorPropertyArray::_is_drop_valid(const Dictionary &p_drag_data) const { String allowed_type = Variant::get_type_name(subtype); + // When the subtype is of type Object, an additional subtype may be specified in the hint string + // (e.g. Resource, Texture2D, ShaderMaterial, etc). We want the allowed type to be that, not just "Object". + if (subtype == Variant::OBJECT && subtype_hint_string != "") { + allowed_type = subtype_hint_string; + } + Dictionary drag_data = p_drag_data; if (drag_data.has("type") && String(drag_data["type"]) == "files") {