Added an additional null check in VertexBuffer9::discard.

TRAC #22227 Signed-off-by: Daniel Koch Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1599 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 2c4d070c
......@@ -198,24 +198,32 @@ bool VertexBuffer9::setBufferSize(unsigned int size)
bool VertexBuffer9::discard()
{
void *dummy;
HRESULT result;
result = mVertexBuffer->Lock(0, 1, &dummy, D3DLOCK_DISCARD);
if (FAILED(result))
if (mVertexBuffer)
{
ERR("Discard lock failed with error 0x%08x", result);
return false;
}
void *dummy;
HRESULT result;
result = mVertexBuffer->Lock(0, 1, &dummy, D3DLOCK_DISCARD);
if (FAILED(result))
{
ERR("Discard lock failed with error 0x%08x", result);
return false;
}
result = mVertexBuffer->Unlock();
if (FAILED(result))
{
ERR("Discard unlock failed with error 0x%08x", result);
return false;
}
result = mVertexBuffer->Unlock();
if (FAILED(result))
return true;
}
else
{
ERR("Discard unlock failed with error 0x%08x", result);
ERR("Vertex buffer not initialized.");
return false;
}
return true;
}
IDirect3DVertexBuffer9 * VertexBuffer9::getBuffer() const
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment