diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2018-02-20 23:50:04 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-05-23 14:15:05 +0200 |
commit | 6f0a7b1c6ecf6344b6c47b64c2f85634dc8eb06b (patch) | |
tree | 9c00a45f8865c820ac0a8139ebd47d09e03e735b | |
parent | 2fe4716e3ff52965e6591428c1471f692cd655c0 (diff) |
tdf#115853: save current custom property when adding line
by reloading current lines before adding a brand new one
indeed the info are deleted by ClearCustomProperties
each time SfxDocumentInfoItem destructor is called
Change-Id: Id1e2e652e90c720f00b8612aa9afbfa91b784d1d
Reviewed-on: https://gerrit.libreoffice.org/50070
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-on: https://gerrit.libreoffice.org/52349
Reviewed-by: Jean-Baptiste Faure <jbfaure@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
(cherry picked from commit c522b4017915b3a12203ac39f48a75ae6f4a5bc0)
(cherry picked from commit 4e82bfb26fcb189d18ca6f0e3dbdf79c8b28bf90)
-rw-r--r-- | sfx2/source/dialog/dinfdlg.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx index c58f97fb5118..ce613d45e97e 100644 --- a/sfx2/source/dialog/dinfdlg.cxx +++ b/sfx2/source/dialog/dinfdlg.cxx @@ -2118,6 +2118,20 @@ void SfxCustomPropertiesPage::dispose() IMPL_LINK_NOARG(SfxCustomPropertiesPage, AddHdl, Button*, void) { + // tdf#115853: reload current lines before adding a brand new one + // indeed the info are deleted by ClearCustomProperties + // each time SfxDocumentInfoItem destructor is called + SfxDocumentInfoItem pInfo; + Sequence< beans::PropertyValue > aPropertySeq = m_pPropertiesCtrl->GetCustomProperties(); + sal_Int32 i = 0, nCount = aPropertySeq.getLength(); + for ( ; i < nCount; ++i ) + { + if ( !aPropertySeq[i].Name.isEmpty() ) + { + pInfo.AddCustomProperty( aPropertySeq[i].Name, aPropertySeq[i].Value ); + } + } + Any aAny; m_pPropertiesCtrl->AddLine( OUString(), aAny, true ); } |