aboutsummaryrefslogtreecommitdiff
path: root/editor/editor_node.cpp
diff options
context:
space:
mode:
authorRuslan Mustakov2017-10-06 12:30:54 +0700
committerRuslan Mustakov2017-10-06 12:30:54 +0700
commit0cd9993ed5a953f720ba8bccaa225edf7aab4322 (patch)
treedf81e7a16abecb7c84a840091521f05695542111 /editor/editor_node.cpp
parentb759d1416f574e5b642413edd623b04f2a1d20ad (diff)
downloadgodot-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.cpp3
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);
}
}