summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga.extern@allotropia.de>2022-07-17 12:36:15 +0200
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2022-07-19 19:55:28 +0200
commite0688221202176cb4d5dfb91ae777afb3075d956 (patch)
tree7852145bd13fee35b4278c11807cbd5b56a53566
parent40be9dc9c7a4362a7357722380b6f430157d707b (diff)
tdf#119491 sc odf export: fix password protection of shared files
Handle SID_ENCRYPTIONDATA for shared password protected docs. Change-Id: If9554a991a39d6be45ed688a0bd638cd166589c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137146 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 8fa6a1f628ca9df5d910db2b2aa7328e1d6220d7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137181 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r--sc/source/ui/docshell/docsh.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index e46c3df81742..219101f72a0c 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -910,6 +910,14 @@ void ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
pValues[1].Name = "Password";
pValues[1].Value <<= pPasswordItem->GetValue();
}
+ const SfxUnoAnyItem* pEncryptionItem = SfxItemSet::GetItem<SfxUnoAnyItem>(GetMedium()->GetItemSet(), SID_ENCRYPTIONDATA, false);
+ if (pEncryptionItem)
+ {
+ aValues.realloc(aValues.getLength() + 1);
+ auto pValues = aValues.getArray();
+ pValues[aValues.getLength() - 1].Name = "EncryptionData";
+ pValues[aValues.getLength() - 1].Value = pEncryptionItem->GetValue();
+ }
SC_MOD()->SetInSharedDocSaving( true );
xStor->storeToURL( GetSharedFileURL(), aValues );