浏览代码

Fixed drag and drop not respecting type on exported arrays.

EricEzaM 4 年之前
父节点
当前提交
6628fe0469
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      editor/editor_properties_array_dict.cpp

+ 6 - 0
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") {