diff --git a/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.inl b/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.inl index 794b283f..e8194b2f 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.inl +++ b/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.inl @@ -646,7 +646,7 @@ namespace PolyVox if((v3dBlockPos == m_v3dLastAccessedBlockPos) && (m_pLastAccessedBlock != 0)) { return m_pLastAccessedBlock; - } + } //Get the block and mark that we accessed it Block* block = getCompressedBlock(uBlockX, uBlockY, uBlockZ); @@ -672,9 +672,11 @@ namespace PolyVox itUncompressedBlock = m_pUncompressedBlockCache.insert(std::make_pair(v3dBlockPos, pUncompressedBlock)).first; } - m_pLastAccessedBlock = block->m_tUncompressedData; + m_pLastAccessedBlock = (*itUncompressedBlock).second; m_v3dLastAccessedBlockPos = v3dBlockPos; + return m_pLastAccessedBlock; + if(block->hasUncompressedData()) { return block->m_tUncompressedData;