[Libreoffice-commits] core.git: dbaccess/source
Samuel Mehrbrodt (via logerrit)
logerrit at kemper.freedesktop.org
Tue Apr 21 07:03:37 UTC 2020
dbaccess/source/core/dataaccess/ModelImpl.cxx | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
New commits:
commit 7dbff6fa55829e53be042e213b454d2466ff80fa
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Tue Apr 21 07:43:26 2020 +0200
Commit: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Tue Apr 21 09:03:01 2020 +0200
Fix storage access after saving
Change-Id: I2cd664ac2ca5e80c566efee35bd34e7223501d75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92605
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
index e4882d53722c..1b74735ec108 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
@@ -873,10 +873,6 @@ bool ODatabaseModelImpl::commitStorageIfWriteable_ignoreErrors( const Reference<
// 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();
OUString aODFVersion(comphelper::OStorageHelper::GetODFVersionFromStorage(_rxStorage));
uno::Reference<security::XDocumentDigitalSignatures> xDDSigns;
try
@@ -897,15 +893,8 @@ bool ODatabaseModelImpl::commitStorageIfWriteable_ignoreErrors( const Reference<
uno::Reference<embed::XStorage> xMetaInf
= xReadOrig->openStorageElement("META-INF", embed::ElementModes::READ);
- OUString aURL = getDocFileLocation();
- Reference<XStorage> xTarget
- = comphelper::OStorageHelper::GetStorageOfFormatFromURL(
- ZIP_STORAGE_FORMAT_STRING, aURL, ElementModes::READWRITE);
- if (!xTarget.is())
- throw uno::RuntimeException("Could not read " + aURL);
uno::Reference<embed::XStorage> xTargetMetaInf
- = xTarget->openStorageElement("META-INF", embed::ElementModes::READWRITE);
-
+ = _rxStorage->openStorageElement("META-INF", embed::ElementModes::READWRITE);
if (xMetaInf.is() && xTargetMetaInf.is())
{
xMetaInf->copyElementTo(aScriptSignName, xTargetMetaInf, aScriptSignName);
@@ -920,13 +909,13 @@ bool ODatabaseModelImpl::commitStorageIfWriteable_ignoreErrors( const Reference<
// now check the copied signature
uno::Sequence<security::DocumentSignatureInformation> aInfos
= xDDSigns->verifyScriptingContentSignatures(
- xTarget, uno::Reference<io::XInputStream>());
+ _rxStorage, uno::Reference<io::XInputStream>());
SignatureState nState = DocumentSignatures::getSignatureState(aInfos);
if (nState == SignatureState::OK || nState == SignatureState::NOTVALIDATED
|| nState == SignatureState::PARTIAL_OK)
{
// commit the ZipStorage from target medium
- xTransact.set(xTarget, uno::UNO_QUERY);
+ xTransact.set(_rxStorage, uno::UNO_QUERY);
if (xTransact.is())
xTransact->commit();
}
More information about the Libreoffice-commits
mailing list