mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.

Analogous to 44c9ea5043.
This commit is contained in:
Giovanni Mascellani 2023-04-17 15:24:08 +02:00 committed by Alexandre Julliard
parent f40e5fcb38
commit df660e80f0

View file

@ -1039,11 +1039,12 @@ static HRESULT dxgi_surface_buffer_lock(struct buffer *buffer, MF2DBuffer_LockFl
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 = dxgi_surface_buffer_map(buffer); hr = dxgi_surface_buffer_map(buffer);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{ {
buffer->_2d.locks++;
*scanline0 = buffer->dxgi_surface.map_desc.pData; *scanline0 = buffer->dxgi_surface.map_desc.pData;
*pitch = buffer->dxgi_surface.map_desc.RowPitch; *pitch = buffer->dxgi_surface.map_desc.RowPitch;
if (buffer_start) if (buffer_start)