From 72f82c04eca7699e620435c3ed4596245251989c Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Mon, 20 Oct 2008 15:37:38 +0100 Subject: [PATCH] ole32: Call the object's IPersistStorage_Save() if the object is running. --- dlls/ole32/defaulthandler.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dlls/ole32/defaulthandler.c b/dlls/ole32/defaulthandler.c index f30033097c..7a851ca05a 100644 --- a/dlls/ole32/defaulthandler.c +++ b/dlls/ole32/defaulthandler.c @@ -1572,11 +1572,18 @@ static HRESULT WINAPI DefaultHandler_IPersistStorage_Load( static HRESULT WINAPI DefaultHandler_IPersistStorage_Save( IPersistStorage* iface, IStorage* pStgSave, - BOOL fSaveAsLoad) + BOOL fSameAsLoad) { - DefaultHandler *This = impl_from_IPersistStorage(iface); + DefaultHandler *This = impl_from_IPersistStorage(iface); + HRESULT hr; + + TRACE("(%p)->(%p, %d)\n", iface, pStgSave, fSameAsLoad); - return IPersistStorage_Save(This->dataCache_PersistStg, pStgSave, fSaveAsLoad); + hr = IPersistStorage_Save(This->dataCache_PersistStg, pStgSave, fSameAsLoad); + if(SUCCEEDED(hr) && object_is_running(This)) + hr = IPersistStorage_Save(This->pPSDelegate, pStgSave, fSameAsLoad); + + return hr; } -- 2.32.0.93.g670b81a890