Dmitry Timoshkov : oleaut32: Simplify bitmap saving code.

Alexandre Julliard julliard at winehq.org
Fri Jun 1 13:25:59 CDT 2012


Module: wine
Branch: master
Commit: 7493fdcc4d42a2f4922096e8456cea10a0e845bc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7493fdcc4d42a2f4922096e8456cea10a0e845bc

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Fri Jun  1 15:37:11 2012 +0900

oleaut32: Simplify bitmap saving code.

---

 dlls/oleaut32/olepicture.c |   46 +++++++++++++++----------------------------
 1 files changed, 16 insertions(+), 30 deletions(-)

diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index 246114c..d838920 100644
--- a/dlls/oleaut32/olepicture.c
+++ b/dlls/oleaut32/olepicture.c
@@ -1749,6 +1749,7 @@ static HRESULT WINAPI OLEPictureImpl_Save(
     HRESULT hResult = E_NOTIMPL;
     void * pIconData;
     unsigned int iDataSize;
+    DWORD header[2];
     ULONG dummy;
     int iSerializeResult = 0;
     OLEPictureImpl *This = impl_from_IPersistStream(iface);
@@ -1797,38 +1798,23 @@ static HRESULT WINAPI OLEPictureImpl_Save(
                 FIXME("(%p,%p,%d), PICTYPE_BITMAP (format UNKNOWN, using BMP?) not implemented!\n",This,pStm,fClearDirty);
                 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);
-                This->data = pIconData;
-                This->datalen = iDataSize;
-                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);
+
+            if (!iSerializeResult)
+            {
+                hResult = E_FAIL;
+                break;
             }
-            IStream_Write(pStm, This->data, This->datalen, &dummy);
-            hResult = S_OK;
+
+            HeapFree(GetProcessHeap(), 0, This->data);
+            This->data = pIconData;
+            This->datalen = iDataSize;
         }
+
+        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;
         break;
     case PICTYPE_METAFILE:
         FIXME("(%p,%p,%d), PICTYPE_METAFILE not implemented!\n",This,pStm,fClearDirty);




More information about the wine-cvs mailing list