diff options
author | Balazs Varga <balazs.varga.extern@allotropia.de> | 2022-07-17 12:36:15 +0200 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2022-07-19 19:55:28 +0200 |
commit | e0688221202176cb4d5dfb91ae777afb3075d956 (patch) | |
tree | 7852145bd13fee35b4278c11807cbd5b56a53566 | |
parent | 40be9dc9c7a4362a7357722380b6f430157d707b (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.cxx | 8 |
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 ); |