dbaccess/source/core/dataaccess/databasedocument.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit 792c730f3cda4f5c312921a62ecae3d322ad9b72 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> AuthorDate: Tue Apr 7 09:05:05 2020 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Wed Apr 8 12:11:20 2020 +0200 Related tdf#97694 Fix macro preservation on Windows Change-Id: Ief183c75e0c3ce6c42868b7c60c5f66f9684d743 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91795 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx index fd93febbe8f1..415d4a5d3c4c 100644 --- a/dbaccess/source/core/dataaccess/databasedocument.cxx +++ b/dbaccess/source/core/dataaccess/databasedocument.cxx @@ -1084,17 +1084,20 @@ void ODatabaseDocument::impl_storeAs_throw( const OUString& _rURL, const ::comph // store to current storage Reference< XStorage > xCurrentStorage( m_pImpl->getOrCreateRootStorage(), UNO_SET_THROW ); + OUString aODFVersion(comphelper::OStorageHelper::GetODFVersionFromStorage(xCurrentStorage)); Sequence< PropertyValue > aMediaDescriptor( lcl_appendFileNameToDescriptor( _rArguments, _rURL ) ); impl_storeToStorage_throw( xCurrentStorage, aMediaDescriptor, _rGuard ); // Preserve script signature if the script has not changed if (bTryToPreserveScriptSignature) { + // Need to close this storage, otherwise we can't open it for signing below + // (Windows needs exclusive file access) + uno::Reference < lang::XComponent > xComp = xCurrentStorage; + xComp->dispose(); uno::Reference<security::XDocumentDigitalSignatures> xDDSigns; try { - OUString aODFVersion( - comphelper::OStorageHelper::GetODFVersionFromStorage(xCurrentStorage)); xDDSigns = security::DocumentDigitalSignatures::createWithVersion( comphelper::getProcessComponentContext(), aODFVersion); @@ -1152,7 +1155,7 @@ void ODatabaseDocument::impl_storeAs_throw( const OUString& _rURL, const ::comph } catch (uno::Exception&) { - SAL_WARN("dbaccess", "Preserving macro signature failed!"); + TOOLS_WARN_EXCEPTION("dbaccess", ""); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits