Huw Davies : ole32: Call the object's IPersistStorage_HandsOffStorage() if the object is running.
Alexandre Julliard
julliard at winehq.org
Tue Oct 21 07:07:05 CDT 2008
Module: wine
Branch: master
Commit: 3a0ed83fb00ae595e51d72b8b4d0e22ae0f8a98d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a0ed83fb00ae595e51d72b8b4d0e22ae0f8a98d
Author: Huw Davies <huw at codeweavers.com>
Date: Mon Oct 20 15:46:23 2008 +0100
ole32: Call the object's IPersistStorage_HandsOffStorage() if the object is running.
---
dlls/ole32/defaulthandler.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/ole32/defaulthandler.c b/dlls/ole32/defaulthandler.c
index 41a5e92..1af0797 100644
--- a/dlls/ole32/defaulthandler.c
+++ b/dlls/ole32/defaulthandler.c
@@ -1616,9 +1616,17 @@ static HRESULT WINAPI DefaultHandler_IPersistStorage_SaveCompleted(
static HRESULT WINAPI DefaultHandler_IPersistStorage_HandsOffStorage(
IPersistStorage* iface)
{
- DefaultHandler *This = impl_from_IPersistStorage(iface);
+ DefaultHandler *This = impl_from_IPersistStorage(iface);
+ HRESULT hr;
+
+ TRACE("(%p)\n", iface);
- return IPersistStorage_HandsOffStorage(This->dataCache_PersistStg);
+ hr = IPersistStorage_HandsOffStorage(This->dataCache_PersistStg);
+
+ if(SUCCEEDED(hr) && object_is_running(This))
+ hr = IPersistStorage_HandsOffStorage(This->pPSDelegate);
+
+ return hr;
}
More information about the wine-cvs
mailing list