| @@ -289,13 +289,13 @@ struct Engine::Internal { | |||||
| }; | }; | ||||
| static void Engine_updateExpander(Engine* that, Module* module, bool side) { | |||||
| static void Engine_updateExpander_NoLock(Engine* that, Module* module, bool side) { | |||||
| Module::Expander& expander = side ? module->rightExpander : module->leftExpander; | Module::Expander& expander = side ? module->rightExpander : module->leftExpander; | ||||
| Module* oldExpanderModule = expander.module; | Module* oldExpanderModule = expander.module; | ||||
| if (expander.moduleId >= 0) { | if (expander.moduleId >= 0) { | ||||
| if (!expander.module || expander.module->id != expander.moduleId) { | if (!expander.module || expander.module->id != expander.moduleId) { | ||||
| expander.module = that->getModule(expander.moduleId); | |||||
| expander.module = that->getModule_NoLock(expander.moduleId); | |||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| @@ -592,8 +592,8 @@ void Engine::stepBlock(int frames) { | |||||
| // Update expander pointers | // Update expander pointers | ||||
| for (Module* module : internal->modules) { | for (Module* module : internal->modules) { | ||||
| Engine_updateExpander(this, module, false); | |||||
| Engine_updateExpander(this, module, true); | |||||
| Engine_updateExpander_NoLock(this, module, false); | |||||
| Engine_updateExpander_NoLock(this, module, true); | |||||
| } | } | ||||
| // Launch workers | // Launch workers | ||||