embedserv/source/inprocserv/inprocembobj.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
New commits: commit 1f5ae5e8c18138d8537e5b080d87d0b61f451449 Author: Julien Nabet <serval2...@yahoo.fr> Date: Mon Jan 7 22:16:37 2013 +0100 test on the return of pOleObject->Close Change-Id: Iee64f6f369e2312d479fa81e7a59fb962ed8d90e Reviewed-on: https://gerrit.libreoffice.org/1567 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/embedserv/source/inprocserv/inprocembobj.cxx b/embedserv/source/inprocserv/inprocembobj.cxx index c6bad46..27c28ad 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; } //------------------------------------------------------------------------------- _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits