[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - dbaccess/source
Samuel Mehrbrodt (via logerrit)
logerrit at kemper.freedesktop.org
Fri May 1 15:54:26 UTC 2020
dbaccess/source/core/dataaccess/databasedocument.cxx | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
New commits:
commit 8aa2a3fdeec9007e6d175d16e4cfe43220f6d6a6
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Tue Apr 7 09:05:05 2020 +0200
Commit: Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Fri May 1 17:53:34 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.Mehrbrodt at cib.de>
(cherry picked from commit 792c730f3cda4f5c312921a62ecae3d322ad9b72)
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index 0d9e842d8283..1888634776af 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -1098,17 +1098,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);
@@ -1166,7 +1169,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", "");
}
}
More information about the Libreoffice-commits
mailing list