diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-03-18 11:01:35 +0200 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2019-03-18 14:16:12 +0000 |
commit | 5d9f20e35c11292ebefcd19653c1cf51ee7baaf0 (patch) | |
tree | 962a263cacc8288993c4d20cf3f633e2b44c0224 | |
parent | 3a49977934c46b5b406a62b15ba16135c5db4c44 (diff) |
Fix crash in dragon texture job
Use copy of texture images instead of reference since the generateTexture
will overwrite the existing array.
Task-number: QT3DS-3176
Change-Id: Id6bc14e0a017f70d267a599ef1d00faab15f7b4d
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | src/runtime/dragon/jobs/dragontexturejobs.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/dragon/jobs/dragontexturejobs.cpp b/src/runtime/dragon/jobs/dragontexturejobs.cpp index 09d4387..ba4e3df 100644 --- a/src/runtime/dragon/jobs/dragontexturejobs.cpp +++ b/src/runtime/dragon/jobs/dragontexturejobs.cpp @@ -110,8 +110,8 @@ LoadedTextures loadTextures(LoadedTextures loadedTextures, const ValueContainer< // more sophisticated dependency tracking between different types of nodes. const auto &dirtyOrNewImages = loadedImages.dirtyOrNew(); for (const auto &textureId : loadedTextures.keys()) { - const auto &loadedTexture = loadedTextures[textureId]; - for (const auto &loadedTextureImage : loadedTexture->images) { + const auto loadedTextureImages = loadedTextures[textureId]->images; + for (const auto &loadedTextureImage : loadedTextureImages) { if (dirtyOrNewImages.contains(loadedTextureImage->image->peerId())) { loadedTextures[textureId] = generateTexture(textureId, textures[textureId]); loadedTextures.markDirty(textureId); |