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

Dmitry Timoshkov dmitry at baikal.ru
Thu Jul 12 21:50:05 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 18df589..f7bfd1a 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -2983,6 +2983,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 */
@@ -3063,6 +3064,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 811174f..b44fa65 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.1




More information about the wine-patches mailing list