Ver código fonte

OpenGL: Fix a potential crash when binding a vertex buffer

BearishSun 9 anos atrás
pai
commit
9ccfcdd441
1 arquivos alterados com 4 adições e 4 exclusões
  1. 4 4
      Source/BansheeGLRenderAPI/Source/BsGLRenderAPI.cpp

+ 4 - 4
Source/BansheeGLRenderAPI/Source/BsGLRenderAPI.cpp

@@ -805,14 +805,14 @@ namespace bs { namespace ct
 		}
 #endif
 
-		std::array<SPtr<VertexBuffer>, MAX_VB_COUNT> boundBuffers;
-		for(UINT32 i = 0; i < numBuffers; i++)
-			boundBuffers[index + i] = buffers[i];
-
 		auto executeRef = [&](UINT32 index, SPtr<VertexBuffer>* buffers, UINT32 numBuffers)
 		{
 			THROW_IF_NOT_CORE_THREAD;
 
+			std::array<SPtr<VertexBuffer>, MAX_VB_COUNT> boundBuffers;
+			for (UINT32 i = 0; i < numBuffers; i++)
+				boundBuffers[index + i] = buffers[i];
+
 			for (UINT32 i = 0; i < numBuffers; i++)
 				mBoundVertexBuffers[index + i] = boundBuffers[index + i];
 		};