diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-08-05 22:50:23 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2014-08-21 21:24:32 +0200 |
commit | 904508f207a99cf7d0106d904c80e11b6704bdf0 (patch) | |
tree | a79d286ea66a0a624317979ec06e3f9821dc2576 /sw | |
parent | 0177eaf4ec76e9915bb3a384d07d3a1c63c7a0a6 (diff) |
fdo#69282: sw: fix updating of page styles via SwDocShell::_LoadStyles()
SwDoc::CopyPageDesc() only copies master and left SwFrmFmt attributes,
but not first-master and first-left. They will contain exactly the same
attributes as master and left but they still need to be copied...
(see also: that FIXME in pagedesc.hxx)
(regression from 75084f6c42c27dc95418df9cefed2fddfb26000e)
Change-Id: I3dcc3627708b5d6a477eb7fef76cf6c42c95c004
(cherry picked from commit 5c1cc92ee09f9fcc99077cacd3fc55640f03b7b2)
Reviewed-on: https://gerrit.libreoffice.org/10774
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/doc/docfmt.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx index 2a09e5987978..29639298cd6c 100644 --- a/sw/source/core/doc/docfmt.cxx +++ b/sw/source/core/doc/docfmt.cxx @@ -2150,6 +2150,22 @@ void SwDoc::CopyPageDesc( const SwPageDesc& rSrcDesc, SwPageDesc& rDstDesc, rDstDesc.GetLeft().DelDiffs( aAttrSet ); rDstDesc.GetLeft().SetFmtAttr( aAttrSet ); + + aAttrSet.ClearItem(); + aAttrSet.Put( rSrcDesc.GetFirstMaster().GetAttrSet() ); + aAttrSet.ClearItem( RES_HEADER ); + aAttrSet.ClearItem( RES_FOOTER ); + + rDstDesc.GetFirstMaster().DelDiffs( aAttrSet ); + rDstDesc.GetFirstMaster().SetFmtAttr( aAttrSet ); + + aAttrSet.ClearItem(); + aAttrSet.Put( rSrcDesc.GetFirstLeft().GetAttrSet() ); + aAttrSet.ClearItem( RES_HEADER ); + aAttrSet.ClearItem( RES_FOOTER ); + + rDstDesc.GetFirstLeft().DelDiffs( aAttrSet ); + rDstDesc.GetFirstLeft().SetFmtAttr( aAttrSet ); } CopyHeader( rSrcDesc.GetMaster(), rDstDesc.GetMaster() ); |