summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Mustakov <r.mustakov@gmail.com>2017-10-06 12:30:54 +0700
committerRuslan Mustakov <r.mustakov@gmail.com>2017-10-06 12:30:54 +0700
commit0cd9993ed5a953f720ba8bccaa225edf7aab4322 (patch)
treedf81e7a16abecb7c84a840091521f05695542111
parentb759d1416f574e5b642413edd623b04f2a1d20ad (diff)
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
-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 a04ded7b5b..baa174d387 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);
}
}