Module: wine Branch: master Commit: 8568848ba836d696c04ea99279a772d5ce8419a9 URL: https://gitlab.winehq.org/wine/wine/-/commit/8568848ba836d696c04ea99279a772d...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Fri Mar 29 18:59:50 2024 +0300
windowscodecs: Silence fixme for IID_CMetaBitmapRenderTarget.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru
---
dlls/windowscodecs/bitmap.c | 8 +++++++- dlls/windowscodecs/tests/bitmap.c | 9 +++++++++ 2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/windowscodecs/bitmap.c b/dlls/windowscodecs/bitmap.c index 53d3361d346..e7d8b27d94a 100644 --- a/dlls/windowscodecs/bitmap.c +++ b/dlls/windowscodecs/bitmap.c @@ -30,6 +30,9 @@ #include "wine/asm.h" #include "wine/debug.h"
+#include "initguid.h" +DEFINE_GUID(IID_CMetaBitmapRenderTarget, 0x0ccd7824,0xdc16,0x4d09,0xbc,0xa8,0x6b,0x09,0xc4,0xef,0x55,0x35); + WINE_DEFAULT_DEBUG_CHANNEL(wincodecs);
/* WARNING: .NET Media Integration Layer (MIL) directly dereferences @@ -253,7 +256,10 @@ static HRESULT WINAPI BitmapImpl_QueryInterface(IWICBitmap *iface, REFIID iid, } else { - FIXME("unknown interface %s\n", debugstr_guid(iid)); + if (IsEqualIID(&IID_CMetaBitmapRenderTarget, iid)) + WARN("Ignoring interface %s\n", debugstr_guid(iid)); + else + FIXME("unknown interface %s\n", debugstr_guid(iid)); *ppv = NULL; return E_NOINTERFACE; } diff --git a/dlls/windowscodecs/tests/bitmap.c b/dlls/windowscodecs/tests/bitmap.c index 3ddd3bbdbae..f070eaeb47f 100644 --- a/dlls/windowscodecs/tests/bitmap.c +++ b/dlls/windowscodecs/tests/bitmap.c @@ -30,6 +30,9 @@ #include "wincodec.h" #include "wine/test.h"
+#include "initguid.h" +DEFINE_GUID(IID_CMetaBitmapRenderTarget, 0x0ccd7824,0xdc16,0x4d09,0xbc,0xa8,0x6b,0x09,0xc4,0xef,0x55,0x35); + extern IID IID_IMILBitmap; extern IID IID_IMILBitmapSource; extern IID IID_IMILBitmapLock; @@ -1464,6 +1467,12 @@ static void test_IMILBitmap(void) IWICBitmapScaler_Release(scaler); mil_source->lpVtbl->Release(mil_source); mil_bitmap->lpVtbl->Release(mil_bitmap); + + mil_unknown = (void *)0xdeadbeef; + hr = IWICBitmap_QueryInterface(bitmap, &IID_CMetaBitmapRenderTarget, (void **)&mil_unknown); + ok(hr == E_NOINTERFACE, "got %#lx\n", hr); + ok(!mil_unknown, "got %p\n", mil_unknown); + IWICBitmap_Release(bitmap); }