Răsfoiți Sursa

Merge pull request #106532 from isaaccp/fix-texture-atlas-import-deadlock

Fix texture atlas import deadlock by keeping group_file= on failed import_file() attempts
Thaddeus Crews 4 săptămâni în urmă
părinte
comite
d999f873ba
1 a modificat fișierele cu 8 adăugiri și 0 ștergeri
  1. 8 0
      editor/file_system/editor_file_system.cpp

+ 8 - 0
editor/file_system/editor_file_system.cpp

@@ -2794,6 +2794,7 @@ Error EditorFileSystem::_reimport_file(const String &p_file, const HashMap<Strin
 
 	ResourceUID::ID uid = ResourceUID::INVALID_ID;
 	Variant generator_parameters;
+	String group_file;
 	if (p_generator_parameters) {
 		generator_parameters = *p_generator_parameters;
 	}
@@ -2823,6 +2824,10 @@ Error EditorFileSystem::_reimport_file(const String &p_file, const HashMap<Strin
 					uid = ResourceUID::get_singleton()->text_to_id(uidt);
 				}
 
+				if (cf->has_section_key("remap", "group_file")) {
+					group_file = cf->get_value("remap", "group_file");
+				}
+
 				if (!p_generator_parameters) {
 					if (cf->has_section_key("remap", "generator_parameters")) {
 						generator_parameters = cf->get_value("remap", "generator_parameters");
@@ -2918,6 +2923,9 @@ Error EditorFileSystem::_reimport_file(const String &p_file, const HashMap<Strin
 		}
 
 		f->store_line("uid=\"" + ResourceUID::get_singleton()->id_to_text(uid) + "\""); // Store in readable format.
+		if (!group_file.is_empty()) {
+			f->store_line("group_file=\"" + group_file + "\"");
+		}
 
 		if (err == OK) {
 			if (importer->get_save_extension().is_empty()) {