sc/source/ui/docshell/docsh.cxx |    8 ++++++++
 1 file changed, 8 insertions(+)

New commits:
commit e0688221202176cb4d5dfb91ae777afb3075d956
Author:     Balazs Varga <balazs.varga.ext...@allotropia.de>
AuthorDate: Sun Jul 17 12:36:15 2022 +0200
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Tue Jul 19 19:55:28 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>
    (cherry picked from commit 8fa6a1f628ca9df5d910db2b2aa7328e1d6220d7)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137181
    Reviewed-by: Balazs Varga <balazs.varga.ext...@allotropia.de>
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

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 );

Reply via email to