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