summaryrefslogtreecommitdiff
path: root/embedserv/source/inprocserv
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2013-01-07 22:16:37 +0100
committerMiklos Vajna <vmiklos@suse.cz>2013-01-08 09:40:34 +0000
commit1f5ae5e8c18138d8537e5b080d87d0b61f451449 (patch)
tree8fadb50c8bf3f2f5d67512b2d887247c336bca34 /embedserv/source/inprocserv
parentf8552dca6b0142ce58bc2bdc25cfb170aa29506a (diff)
test on the return of pOleObject->Close
Change-Id: Iee64f6f369e2312d479fa81e7a59fb962ed8d90e Reviewed-on: https://gerrit.libreoffice.org/1567 Reviewed-by: Miklos Vajna <vmiklos@suse.cz> Tested-by: Miklos Vajna <vmiklos@suse.cz>
Diffstat (limited to 'embedserv/source/inprocserv')
-rw-r--r--embedserv/source/inprocserv/inprocembobj.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/embedserv/source/inprocserv/inprocembobj.cxx b/embedserv/source/inprocserv/inprocembobj.cxx
index c6bad4643031..27c28adff032 100644
--- a/embedserv/source/inprocserv/inprocembobj.cxx
+++ b/embedserv/source/inprocserv/inprocembobj.cxx
@@ -771,6 +771,7 @@ STDMETHODIMP InprocEmbedDocument_Impl::SetHostNames( LPCOLESTR szContainerApp, L
//-------------------------------------------------------------------------------
STDMETHODIMP InprocEmbedDocument_Impl::Close( DWORD dwSaveOption )
{
+ HRESULT ret = S_OK;
if ( m_pDefHandler && CheckDefHandler() )
{
// no need to close if there is no default handler.
@@ -781,14 +782,18 @@ STDMETHODIMP InprocEmbedDocument_Impl::Close( DWORD dwSaveOption )
if ( SUCCEEDED( hr ) && pOleObject )
{
hr = pOleObject->Close( dwSaveOption );
+ if (!SUCCEEDED(hr))
+ ret = hr;
hr = CoDisconnectObject( (IUnknown*)(IPersistStorage*)this, 0 );
+ if (!(SUCCEEDED(hr) && SUCCEEDED(ret)))
+ ret = hr;
}
}
// if the object is closed from outside that means that it should go to uninitialized state
Clean();
- return S_OK;
+ return ret;
}
//-------------------------------------------------------------------------------