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)
|
if (buffer->_2d.linear_buffer)
|
||||||
hr = MF_E_UNEXPECTED;
|
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);
|
hr = IDirect3DSurface9_LockRect(buffer->d3d9_surface.surface, &buffer->d3d9_surface.rect, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
buffer->_2d.locks++;
|
||||||
*scanline0 = buffer->d3d9_surface.rect.pBits;
|
*scanline0 = buffer->d3d9_surface.rect.pBits;
|
||||||
*pitch = buffer->d3d9_surface.rect.Pitch;
|
*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)
|
if (buffer->_2d.linear_buffer)
|
||||||
hr = MF_E_UNEXPECTED;
|
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);
|
hr = IDirect3DSurface9_LockRect(buffer->d3d9_surface.surface, &buffer->d3d9_surface.rect, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
buffer->_2d.locks++;
|
||||||
*scanline0 = buffer->d3d9_surface.rect.pBits;
|
*scanline0 = buffer->d3d9_surface.rect.pBits;
|
||||||
*pitch = buffer->d3d9_surface.rect.Pitch;
|
*pitch = buffer->d3d9_surface.rect.Pitch;
|
||||||
if (buffer_start)
|
if (buffer_start)
|
||||||
|
|
Loading…
Reference in New Issue