Forráskód Böngészése

OpenGL: Fix a potential crash when binding a vertex buffer

BearishSun 9 éve
szülő
commit
9ccfcdd441

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

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