mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 17:24:24 +02:00
Merge pull request #11097 from druiz17/bug-entity-crash2
Lock the script engine in EntityEditPacketSender
This commit is contained in:
commit
baad9f1af4
2 changed files with 4 additions and 0 deletions
|
@ -54,6 +54,7 @@ void EntityEditPacketSender::queueEditAvatarEntityMessage(PacketType type,
|
||||||
EntityItemProperties entityProperties = entity->getProperties();
|
EntityItemProperties entityProperties = entity->getProperties();
|
||||||
entityProperties.merge(properties);
|
entityProperties.merge(properties);
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(_mutex);
|
||||||
QScriptValue scriptProperties = EntityItemNonDefaultPropertiesToScriptValue(&_scriptEngine, entityProperties);
|
QScriptValue scriptProperties = EntityItemNonDefaultPropertiesToScriptValue(&_scriptEngine, entityProperties);
|
||||||
QVariant variantProperties = scriptProperties.toVariant();
|
QVariant variantProperties = scriptProperties.toVariant();
|
||||||
QJsonDocument jsonProperties = QJsonDocument::fromVariant(variantProperties);
|
QJsonDocument jsonProperties = QJsonDocument::fromVariant(variantProperties);
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
|
|
||||||
#include <OctreeEditPacketSender.h>
|
#include <OctreeEditPacketSender.h>
|
||||||
|
|
||||||
|
#include <mutex>
|
||||||
|
|
||||||
#include "EntityItem.h"
|
#include "EntityItem.h"
|
||||||
#include "AvatarData.h"
|
#include "AvatarData.h"
|
||||||
|
|
||||||
|
@ -49,6 +51,7 @@ private:
|
||||||
EntityItemID entityItemID, const EntityItemProperties& properties);
|
EntityItemID entityItemID, const EntityItemProperties& properties);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
std::mutex _mutex;
|
||||||
AvatarData* _myAvatar { nullptr };
|
AvatarData* _myAvatar { nullptr };
|
||||||
QScriptEngine _scriptEngine;
|
QScriptEngine _scriptEngine;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue