From 4d06890d90310ce2aff14d969436f4cef536e7a1 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 31 Aug 2015 15:24:15 -0700 Subject: [PATCH] lock/unlock less --- .../src/RenderablePolyVoxEntityItem.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp index 66054aad5a..7d7607860d 100644 --- a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp @@ -1081,10 +1081,16 @@ void RenderablePolyVoxEntityItem::computeShapeInfoWorkerAsync() { } else { unsigned int i = 0; + _volDataLock.lockForRead(); + if (!_volData) { + _volDataLock.unlock(); + return; + } + for (int z = 0; z < _voxelVolumeSize.z; z++) { for (int y = 0; y < _voxelVolumeSize.y; y++) { for (int x = 0; x < _voxelVolumeSize.x; x++) { - if (getVoxel(x, y, z) > 0) { + if (getVoxelInternal(x, y, z) > 0) { if ((x > 0 && getVoxel(x - 1, y, z) > 0) && (y > 0 && getVoxel(x, y - 1, z) > 0) && @@ -1142,6 +1148,7 @@ void RenderablePolyVoxEntityItem::computeShapeInfoWorkerAsync() { } } } + _volDataLock.unlock(); } if (points.isEmpty()) {