Browse Source

Fix command-line export looping infinitely

EditorProgress calls Main::iteration which calls MessageQueue::flush
which may result in _fs_changed being called again. This fixes the loop
Godot enters in such case.

Fixes #11189
Ruslan Mustakov 8 years ago
parent
commit
0cd9993ed5
1 changed files with 3 additions and 0 deletions
  1. 3 0
      editor/editor_node.cpp

+ 3 - 0
editor/editor_node.cpp

@@ -373,6 +373,9 @@ void EditorNode::_fs_changed() {
 				String err = "Preset \"" + export_defer.preset + "\" doesn't have a platform.";
 				ERR_PRINT(err.utf8().get_data());
 			} else {
+				// ensures export_project does not loop infinitely, because notifications may
+				// come during the export
+				export_defer.preset = "";
 				platform->export_project(preset, export_defer.debug, export_defer.path, /*p_flags*/ 0);
 			}
 		}