mfplat: Do not mark the buffer as locked if Lock2D() fails.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
cc9722e4e0
commit
44c9ea5043
|
@ -670,13 +670,14 @@ static HRESULT WINAPI d3d9_surface_buffer_Lock2D(IMF2DBuffer2 *iface, BYTE **sca
|
|||
|
||||
if (buffer->_2d.linear_buffer)
|
||||
hr = MF_E_UNEXPECTED;
|
||||
else if (!buffer->_2d.locks++)
|
||||
else if (!buffer->_2d.locks)
|
||||
{
|
||||
hr = IDirect3DSurface9_LockRect(buffer->d3d9_surface.surface, &buffer->d3d9_surface.rect, NULL, 0);
|
||||
}
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
buffer->_2d.locks++;
|
||||
*scanline0 = buffer->d3d9_surface.rect.pBits;
|
||||
*pitch = buffer->d3d9_surface.rect.Pitch;
|
||||
}
|
||||
|
@ -755,13 +756,14 @@ static HRESULT WINAPI d3d9_surface_buffer_Lock2DSize(IMF2DBuffer2 *iface, MF2DBu
|
|||
|
||||
if (buffer->_2d.linear_buffer)
|
||||
hr = MF_E_UNEXPECTED;
|
||||
else if (!buffer->_2d.locks++)
|
||||
else if (!buffer->_2d.locks)
|
||||
{
|
||||
hr = IDirect3DSurface9_LockRect(buffer->d3d9_surface.surface, &buffer->d3d9_surface.rect, NULL, 0);
|
||||
}
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
buffer->_2d.locks++;
|
||||
*scanline0 = buffer->d3d9_surface.rect.pBits;
|
||||
*pitch = buffer->d3d9_surface.rect.Pitch;
|
||||
if (buffer_start)
|
||||
|
|
Loading…
Reference in New Issue