[9/9] gdiplus: Fix palette flags for a not indexed 1bpp image. Resend.

Dmitry Timoshkov dmitry at baikal.ru
Mon Jul 16 01:49:00 CDT 2012


---
 dlls/gdiplus/image.c       | 3 +++
 dlls/gdiplus/tests/image.c | 1 -
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index 8fd8067..bfa0156 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -3038,6 +3038,7 @@ static GpStatus decode_image_wic(IStream* stream, REFCLSID clsid, UINT active_fr
                 gdip_format = PixelFormat32bppARGB;
                 IWICBitmapSource_Release(bmp_source);
             }
+            TRACE("%s => %#x\n", wine_dbgstr_guid(&wic_format), gdip_format);
         }
 
         if (SUCCEEDED(hr)) /* got source */
@@ -3118,6 +3119,8 @@ end:
         bitmap->image.frame_count = frame_count;
         bitmap->image.current_frame = active_frame;
         bitmap->image.stream = stream;
+        if (IsEqualGUID(&wic_format, &GUID_WICPixelFormatBlackWhite))
+            bitmap->image.palette->Flags = 0;
         /* Pin the source stream */
         IStream_AddRef(stream);
     }
diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c
index 786dbd0..1465b2b 100644
--- a/dlls/gdiplus/tests/image.c
+++ b/dlls/gdiplus/tests/image.c
@@ -3339,7 +3339,6 @@ static void test_tiff_palette(void)
 
     status = GdipGetImagePalette(image, &palette.pal, size);
     expect(Ok, status);
-todo_wine
     expect(0, palette.pal.Flags);
     expect(2, palette.pal.Count);
     if (palette.pal.Count == 2)
-- 
1.7.11.2




More information about the wine-patches mailing list