Paul Gofman : windowscodecs: Return correct error codes from BmpFrameEncode_GetMetadataQueryWriter().

Alexandre Julliard julliard at winehq.org
Thu Jan 28 15:41:40 CST 2021


Module: wine
Branch: master
Commit: 79d143973b6ff8ab75863aab82521f903bc32926
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=79d143973b6ff8ab75863aab82521f903bc32926

Author: Paul Gofman <pgofman at codeweavers.com>
Date:   Wed Jan 27 20:33:51 2021 +0300

windowscodecs: Return correct error codes from BmpFrameEncode_GetMetadataQueryWriter().

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Esme Povirk <esme at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/windowscodecs/bmpencode.c      | 12 +++++++++---
 dlls/windowscodecs/tests/metadata.c |  4 ++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/dlls/windowscodecs/bmpencode.c b/dlls/windowscodecs/bmpencode.c
index 30b1f361c98..e87d66a2e63 100644
--- a/dlls/windowscodecs/bmpencode.c
+++ b/dlls/windowscodecs/bmpencode.c
@@ -397,10 +397,16 @@ static HRESULT WINAPI BmpFrameEncode_Commit(IWICBitmapFrameEncode *iface)
 }
 
 static HRESULT WINAPI BmpFrameEncode_GetMetadataQueryWriter(IWICBitmapFrameEncode *iface,
-    IWICMetadataQueryWriter **ppIMetadataQueryWriter)
+        IWICMetadataQueryWriter **query_writer)
 {
-    FIXME("(%p, %p): stub\n", iface, ppIMetadataQueryWriter);
-    return E_NOTIMPL;
+    BmpFrameEncode *encoder = impl_from_IWICBitmapFrameEncode(iface);
+
+    TRACE("iface %p, query_writer %p.\n", iface, query_writer);
+
+    if (!encoder->initialized)
+        return WINCODEC_ERR_NOTINITIALIZED;
+
+    return WINCODEC_ERR_UNSUPPORTEDOPERATION;
 }
 
 static const IWICBitmapFrameEncodeVtbl BmpFrameEncode_Vtbl = {
diff --git a/dlls/windowscodecs/tests/metadata.c b/dlls/windowscodecs/tests/metadata.c
index c1339e4bd1d..e6e46c389f9 100644
--- a/dlls/windowscodecs/tests/metadata.c
+++ b/dlls/windowscodecs/tests/metadata.c
@@ -3106,7 +3106,7 @@ static void test_metadata_writer(void)
         ok(hr == (tests[i].metadata_supported ? S_OK : E_INVALIDARG), "Got unexpected hr %#x, i %u.\n", hr, i);
 
         hr = IWICBitmapFrameEncode_GetMetadataQueryWriter(frameencode, &querywriter2);
-        todo_wine_if(!i) ok(hr == (tests[i].succeeds_unitialized ? S_OK : WINCODEC_ERR_NOTINITIALIZED),
+        ok(hr == (tests[i].succeeds_unitialized ? S_OK : WINCODEC_ERR_NOTINITIALIZED),
                 "Got unexpected hr %#x, i %u.\n", hr, i);
         if (hr == S_OK)
             IWICMetadataQueryWriter_Release(querywriter2);
@@ -3115,7 +3115,7 @@ static void test_metadata_writer(void)
         ok(hr == S_OK, "Got unexpected hr %#x, i %u.\n", hr, i);
 
         hr = IWICBitmapFrameEncode_GetMetadataQueryWriter(frameencode, &querywriter2);
-        todo_wine_if(!i) ok(hr == (tests[i].metadata_supported ? S_OK : WINCODEC_ERR_UNSUPPORTEDOPERATION),
+        ok(hr == (tests[i].metadata_supported ? S_OK : WINCODEC_ERR_UNSUPPORTEDOPERATION),
                 "Got unexpected hr %#x, i %u.\n", hr, i);
 
         if (tests[i].metadata_supported)




More information about the wine-cvs mailing list