diff options
| author | Ruslan Mustakov | 2017-10-06 12:30:54 +0700 |
|---|---|---|
| committer | Ruslan Mustakov | 2017-10-06 12:30:54 +0700 |
| commit | 0cd9993ed5a953f720ba8bccaa225edf7aab4322 (patch) | |
| tree | df81e7a16abecb7c84a840091521f05695542111 /editor/editor_node.cpp | |
| parent | b759d1416f574e5b642413edd623b04f2a1d20ad (diff) | |
| download | godot-0cd9993ed5a953f720ba8bccaa225edf7aab4322.tar.gz godot-0cd9993ed5a953f720ba8bccaa225edf7aab4322.tar.zst godot-0cd9993ed5a953f720ba8bccaa225edf7aab4322.zip | |
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
Diffstat (limited to 'editor/editor_node.cpp')
| -rw-r--r-- | editor/editor_node.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index a04ded7b5..baa174d38 100644 --- a/editor/editor_node.cpp +++ b/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); } } |
