From a8a4c995290b9f6fad6c133f6a39fa74e8c789da Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Thu, 9 Jul 2015 15:01:16 -0700 Subject: [PATCH] on script shutdown, wait to process all pending edit messages before ending the script engine --- libraries/script-engine/src/ScriptEngine.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 2046fd622d..863cc28a94 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -710,7 +710,13 @@ void ScriptEngine::run() { // since we're in non-threaded mode, call process so that the packets are sent if (!entityScriptingInterface->getEntityPacketSender()->isThreaded()) { - entityScriptingInterface->getEntityPacketSender()->process(); + // wait here till the edit packet sender is completely done sending + while (entityScriptingInterface->getEntityPacketSender()->hasPacketsToSend()) { + entityScriptingInterface->getEntityPacketSender()->process(); + QCoreApplication::processEvents(); + } + } else { + // FIXME - do we need to have a similar "wait here" loop for non-threaded packet senders? } }