[RESENT] OLE32: fixed ReleaseStgMedium
Alberto Massari
alby at exln.com
Tue Jan 14 06:40:23 CST 2003
The previous patch was made before refreshing the tree: this is done against the current one.
Sorry for the mess....
Alberto
Index: ole2.c
===================================================================
RCS file: /home/wine/wine/dlls/ole32/ole2.c,v
retrieving revision 1.40
diff -u -r1.40 ole2.c
--- ole2.c 13 Jan 2003 20:37:39 -0000 1.40
+++ ole2.c 14 Jan 2003 12:36:32 -0000
@@ -1516,8 +1516,6 @@
if ( (pmedium->pUnkForRelease==0) &&
(pmedium->u.hGlobal!=0) )
GlobalFree(pmedium->u.hGlobal);
-
- pmedium->u.hGlobal = 0;
break;
}
case TYMED_FILE:
@@ -1531,8 +1529,6 @@
CoTaskMemFree(pmedium->u.lpszFileName);
}
-
- pmedium->u.lpszFileName = 0;
break;
}
case TYMED_ISTREAM:
@@ -1541,8 +1537,6 @@
{
IStream_Release(pmedium->u.pstm);
}
-
- pmedium->u.pstm = 0;
break;
}
case TYMED_ISTORAGE:
@@ -1551,17 +1545,13 @@
{
IStorage_Release(pmedium->u.pstg);
}
-
- pmedium->u.pstg = 0;
break;
}
case TYMED_GDI:
{
if ( (pmedium->pUnkForRelease==0) &&
- (pmedium->u.hGlobal!=0) )
- DeleteObject(pmedium->u.hGlobal);
-
- pmedium->u.hGlobal = 0;
+ (pmedium->u.hBitmap!=0) )
+ DeleteObject(pmedium->u.hBitmap);
break;
}
case TYMED_MFPICT:
@@ -1569,13 +1559,11 @@
if ( (pmedium->pUnkForRelease==0) &&
(pmedium->u.hMetaFilePict!=0) )
{
- LPMETAFILEPICT pMP = GlobalLock(pmedium->u.hGlobal);
+ LPMETAFILEPICT pMP = GlobalLock(pmedium->u.hMetaFilePict);
DeleteMetaFile(pMP->hMF);
- GlobalUnlock(pmedium->u.hGlobal);
- GlobalFree(pmedium->u.hGlobal);
+ GlobalUnlock(pmedium->u.hMetaFilePict);
+ GlobalFree(pmedium->u.hMetaFilePict);
}
-
- pmedium->u.hMetaFilePict = 0;
break;
}
case TYMED_ENHMF:
@@ -1585,14 +1573,13 @@
{
DeleteEnhMetaFile(pmedium->u.hEnhMetaFile);
}
-
- pmedium->u.hEnhMetaFile = 0;
break;
}
case TYMED_NULL:
default:
break;
}
+ pmedium->tymed=TYMED_NULL;
/*
* After cleaning up, the unknown is released
More information about the wine-patches
mailing list