mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-08 15:43:17 +02:00
Make procedural userData thread-safe
This commit is contained in:
parent
1640314076
commit
9b89e46e65
2 changed files with 3 additions and 0 deletions
|
@ -75,6 +75,7 @@ void Procedural::parse(const QString& userDataJson) {
|
|||
auto proceduralData = getProceduralData(userDataJson);
|
||||
// Instead of parsing, prep for a parse on the rendering thread
|
||||
// This will be called by Procedural::ready
|
||||
std::lock_guard<std::mutex> lock(_proceduralDataMutex);
|
||||
_proceduralData = proceduralData.toObject();
|
||||
_proceduralDataDirty = true;
|
||||
}
|
||||
|
@ -165,6 +166,7 @@ void Procedural::parse(QJsonObject proceduralData) {
|
|||
bool Procedural::ready() {
|
||||
// Load any changes to the procedural
|
||||
if (_proceduralDataDirty) {
|
||||
std::lock_guard<std::mutex> lock(_proceduralDataMutex);
|
||||
parse(_proceduralData);
|
||||
_proceduralDataDirty = false;
|
||||
}
|
||||
|
|
|
@ -65,6 +65,7 @@ protected:
|
|||
|
||||
// Rendering object descriptions, from userData
|
||||
QJsonObject _proceduralData;
|
||||
std::mutex _proceduralDataMutex;
|
||||
QString _shaderSource;
|
||||
QString _shaderPath;
|
||||
QUrl _shaderUrl;
|
||||
|
|
Loading…
Reference in a new issue