Merge pull request #7813 from ZappoMan/fixRecursiveMutex

fix recursive mutex in Entites.callEntityMethod()
This commit is contained in:
samcake 2016-05-05 10:06:58 -07:00
commit a78719bc85
2 changed files with 3 additions and 3 deletions

View file

@ -415,12 +415,12 @@ void EntityScriptingInterface::deleteEntity(QUuid id) {
} }
void EntityScriptingInterface::setEntitiesScriptEngine(EntitiesScriptEngineProvider* engine) { void EntityScriptingInterface::setEntitiesScriptEngine(EntitiesScriptEngineProvider* engine) {
std::lock_guard<std::mutex> lock(_entitiesScriptEngineLock); std::lock_guard<std::recursive_mutex> lock(_entitiesScriptEngineLock);
_entitiesScriptEngine = engine; _entitiesScriptEngine = engine;
} }
void EntityScriptingInterface::callEntityMethod(QUuid id, const QString& method, const QStringList& params) { void EntityScriptingInterface::callEntityMethod(QUuid id, const QString& method, const QStringList& params) {
std::lock_guard<std::mutex> lock(_entitiesScriptEngineLock); std::lock_guard<std::recursive_mutex> lock(_entitiesScriptEngineLock);
if (_entitiesScriptEngine) { if (_entitiesScriptEngine) {
EntityItemID entityID{ id }; EntityItemID entityID{ id };
_entitiesScriptEngine->callEntityScriptMethod(entityID, method, params); _entitiesScriptEngine->callEntityScriptMethod(entityID, method, params);

View file

@ -215,7 +215,7 @@ private:
EntityTreePointer _entityTree; EntityTreePointer _entityTree;
std::mutex _entitiesScriptEngineLock; std::recursive_mutex _entitiesScriptEngineLock;
EntitiesScriptEngineProvider* _entitiesScriptEngine { nullptr }; EntitiesScriptEngineProvider* _entitiesScriptEngine { nullptr };
bool _bidOnSimulationOwnership { false }; bool _bidOnSimulationOwnership { false };