Module: wine Branch: master Commit: 984d9de828b81e551e6c4913a52e3ddbcb181753 URL: https://source.winehq.org/git/wine.git/?a=commit;h=984d9de828b81e551e6c4913a...
Author: Ziqing Hui zhui@codeweavers.com Date: Sat May 29 08:26:55 2021 +0800
windowscodecs: Implement DdsFrameEncode_Initialize.
Signed-off-by: Ziqing Hui zhui@codeweavers.com Signed-off-by: Esme Povirk esme@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/windowscodecs/ddsformat.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/dlls/windowscodecs/ddsformat.c b/dlls/windowscodecs/ddsformat.c index 6dd7a01ff42..eea5235faba 100644 --- a/dlls/windowscodecs/ddsformat.c +++ b/dlls/windowscodecs/ddsformat.c @@ -1573,8 +1573,27 @@ static ULONG WINAPI DdsFrameEncode_Release(IWICBitmapFrameEncode *iface) static HRESULT WINAPI DdsFrameEncode_Initialize(IWICBitmapFrameEncode *iface, IPropertyBag2 *encoderOptions) { - FIXME("(%p,%p): stub\n", iface, encoderOptions); - return E_NOTIMPL; + DdsFrameEncode *This = impl_from_IWICBitmapFrameEncode(iface); + HRESULT hr; + + TRACE("(%p,%p)\n", iface, encoderOptions); + if (encoderOptions) FIXME("encoder options are not supported for DDS.\n"); + + EnterCriticalSection(&This->parent->lock); + + if (This->initialized) + { + hr = WINCODEC_ERR_WRONGSTATE; + } + else + { + This->initialized = TRUE; + hr = S_OK; + } + + LeaveCriticalSection(&This->parent->lock); + + return hr; }
static HRESULT WINAPI DdsFrameEncode_SetSize(IWICBitmapFrameEncode *iface,