windowscodecs: Add a lock for DdsFrameDecode.

Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ziqing Hui 2020-08-24 12:09:27 +08:00 committed by Alexandre Julliard
parent 7571fa87df
commit ba913316ad
1 changed files with 3 additions and 0 deletions

View File

@ -150,6 +150,7 @@ typedef struct DdsFrameDecode {
IWICDdsFrameDecode IWICDdsFrameDecode_iface; IWICDdsFrameDecode IWICDdsFrameDecode_iface;
LONG ref; LONG ref;
BYTE *data; BYTE *data;
CRITICAL_SECTION lock;
dds_frame_info info; dds_frame_info info;
} DdsFrameDecode; } DdsFrameDecode;
@ -777,6 +778,8 @@ static HRESULT DdsFrameDecode_CreateInstance(DdsFrameDecode **frame_decode)
result->IWICBitmapFrameDecode_iface.lpVtbl = &DdsFrameDecode_Vtbl; result->IWICBitmapFrameDecode_iface.lpVtbl = &DdsFrameDecode_Vtbl;
result->IWICDdsFrameDecode_iface.lpVtbl = &DdsFrameDecode_Dds_Vtbl; result->IWICDdsFrameDecode_iface.lpVtbl = &DdsFrameDecode_Dds_Vtbl;
result->ref = 1; result->ref = 1;
InitializeCriticalSection(&result->lock);
result->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": DdsFrameDecode.lock");
*frame_decode = result; *frame_decode = result;
return S_OK; return S_OK;