Skip to content

Commit b801115

Browse files
committed
bugfix: memory leak
we should release old vertex buffer.
1 parent 90f6542 commit b801115

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

cocos/renderer/backend/opengl/CommandBufferGL.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ void CommandBufferGL::setWinding(Winding winding)
330330
void CommandBufferGL::setIndexBuffer(Buffer* buffer)
331331
{
332332
assert(buffer != nullptr);
333-
if (buffer == nullptr)
333+
if (buffer == nullptr || _indexBuffer == buffer)
334334
return;
335335

336336
buffer->retain();
@@ -345,6 +345,7 @@ void CommandBufferGL::setVertexBuffer(Buffer* buffer)
345345
return;
346346

347347
buffer->retain();
348+
CC_SAFE_RELEASE(_vertexBuffer);
348349
_vertexBuffer = static_cast<BufferGL*>(buffer);
349350
}
350351

0 commit comments

Comments
 (0)