sc/source/ui/docshell/docsh.cxx | 8 ++++++++ 1 file changed, 8 insertions(+)
New commits: commit 8fa6a1f628ca9df5d910db2b2aa7328e1d6220d7 Author: Balazs Varga <balazs.varga.ext...@allotropia.de> AuthorDate: Sun Jul 17 12:36:15 2022 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Tue Jul 19 15:40:24 2022 +0200 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 <kelem...@ubuntu.com> Reviewed-by: Gabor Kelemen <kelem...@ubuntu.com> Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de> diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index e5ab8cede75c..74b174479f72 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 );