[PATCH v3 1/3] windowscodecs: Use IWICImagingFactory_CreatePalette in write_source.

Rémi Bernon rbernon at codeweavers.com
Fri Jan 29 02:44:39 CST 2021


Instead of PaletteImpl_Create.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---

v3: Don't import palette.c anymore, use WINCODECS_CUSTOM_UNIXLIB define
    to guard custom encoders / decoders. Resending jxrlib integration
    later.

Supersedes: 198861-198864

 dlls/windowscodecs/wincodecs_common.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/dlls/windowscodecs/wincodecs_common.c b/dlls/windowscodecs/wincodecs_common.c
index 37ad7128f10..1b146908be9 100644
--- a/dlls/windowscodecs/wincodecs_common.c
+++ b/dlls/windowscodecs/wincodecs_common.c
@@ -121,9 +121,17 @@ HRESULT write_source(IWICBitmapFrameEncode *iface,
 
     if (need_palette)
     {
+        IWICImagingFactory *factory;
         IWICPalette *palette;
 
-        hr = PaletteImpl_Create(&palette);
+        hr = create_instance(&CLSID_WICImagingFactory, &IID_IWICImagingFactory, (void**)&factory);
+
+        if (SUCCEEDED(hr))
+        {
+            hr = IWICImagingFactory_CreatePalette(factory, &palette);
+            IWICImagingFactory_Release(factory);
+        }
+
         if (SUCCEEDED(hr))
         {
             hr = IWICBitmapSource_CopyPalette(converted_source, palette);
-- 
2.30.0




More information about the wine-devel mailing list