[PATCH 3/6] OLE: Fixed bug in IPersistStream::Save.

Nathan Beckmann nathan.beckmann at gmail.com
Sun Feb 24 09:57:16 CST 2008


Removed an unnecessary header of two DWORDs that was always written to
bitmaps in IPersistStream::Save.

Updated tests to reflect new (correct) behavior.
---
 dlls/oleaut32/olepicture.c       |   20 --------------------
 dlls/oleaut32/tests/olepicture.c |    8 ++------
 2 files changed, 2 insertions(+), 26 deletions(-)

diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index 27c2ac9..42385a2 100644
--- a/dlls/oleaut32/olepicture.c
+++ b/dlls/oleaut32/olepicture.c
@@ -2205,16 +2205,6 @@ static HRESULT WINAPI OLEPictureImpl_Save(
                 break;
             }
             if (iSerializeResult) {
-                /*
-                if (This->loadtime_magic != 0xdeadbeef) {
-                */
-                if (1) {
-                    DWORD header[2];
-
-                    header[0] = (This->loadtime_magic != 0xdeadbeef) ? This->loadtime_magic : 0x0000746c;
-                    header[1] = iDataSize;
-                    IStream_Write(pStm, header, 2 * sizeof(DWORD), &dummy);
-                }
                 IStream_Write(pStm, pIconData, iDataSize, &dummy);
 
                 HeapFree(GetProcessHeap(), 0, This->data);
@@ -2223,16 +2213,6 @@ static HRESULT WINAPI OLEPictureImpl_Save(
                 hResult = S_OK;
             }
         } else {
-            /*
-            if (This->loadtime_magic != 0xdeadbeef) {
-            */
-            if (1) {
-                DWORD header[2];
-
-                header[0] = (This->loadtime_magic != 0xdeadbeef) ? This->loadtime_magic : 0x0000746c;
-                header[1] = This->datalen;
-                IStream_Write(pStm, header, 2 * sizeof(DWORD), &dummy);
-            }
             IStream_Write(pStm, This->data, This->datalen, &dummy);
             hResult = S_OK;
         }
diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c
index e1b9aca..22e2321 100644
--- a/dlls/oleaut32/tests/olepicture.c
+++ b/dlls/oleaut32/tests/olepicture.c
@@ -541,17 +541,13 @@ static void test_save_picture()
     ok(ret == S_OK, "Failed to read IPersistStream::Save test image.\n");
     if (SUCCEEDED(ret)) {
         IStream_Read(in_stream, output_file, sizeof(output_file), &dummy);
-        todo_wine {
-            ok(dummy == sizeof(bmpimage), "Output from IPersistStream::Save is different size than test image.\n");
-        }
+        ok(dummy == sizeof(bmpimage), "Output from IPersistStream::Save is different size than test image.\n");
         image_differ = FALSE;
         for (i = 0; i < sizeof(bmpimage); i++) {
             if (output_file[i] != bmpimage[i])
                 image_differ = TRUE;
         }
-        todo_wine {
-            ok(!image_differ, "Output from IPersistStream::Save differs from test image.\n");
-        }
+        ok(!image_differ, "Output from IPersistStream::Save differs from test image.\n");
 
         IStream_Release(in_stream);
     }
-- 
1.5.4.2




More information about the wine-patches mailing list