From: Rémi Bernon rbernon@codeweavers.com
--- dlls/evr/presenter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/evr/presenter.c b/dlls/evr/presenter.c index d8bdbee3915..313c4fc6309 100644 --- a/dlls/evr/presenter.c +++ b/dlls/evr/presenter.c @@ -1531,7 +1531,8 @@ static HRESULT WINAPI video_presenter_control_GetCurrentImage(IMFVideoDisplayCon { if (SUCCEEDED(hr = IDirect3DSurface9_LockRect(readback, &mapped_rect, NULL, D3DLOCK_READONLY))) { - memcpy(*dib, mapped_rect.pBits, *dib_size); + hr = MFCopyImage(stride < 0 ? *dib + *dib_size - stride : *dib, stride, + mapped_rect.pBits, mapped_rect.Pitch, surface_desc.Width * 4, surface_desc.Height); IDirect3DSurface9_UnlockRect(readback); } }