diff options
author | EricEzaM <itsjusteza@gmail.com> | 2021-07-24 23:12:34 +1000 |
---|---|---|
committer | Eric M <itsjusteza@gmail.com> | 2021-10-01 18:16:38 +1000 |
commit | e519ef31f28622ff47d5fcb4f0d67f0de94903c2 (patch) | |
tree | 6f291f1384b16035a450b3a4fec279e93b84ab0a | |
parent | 8be97e3b51f5adbee0f9f5d3193da53680a44695 (diff) |
Fixed drag and drop not respecting type on exported arrays.
-rw-r--r-- | editor/editor_properties_array_dict.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index 9cecb62c66..9b5dc8851c 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -429,6 +429,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") { |