summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-08-05 22:50:23 +0200
committerMichael Stahl <mstahl@redhat.com>2014-08-05 23:23:55 +0200
commit5c1cc92ee09f9fcc99077cacd3fc55640f03b7b2 (patch)
treeb3563961c00e34c9f1d7779e04ffd3ef4081098e
parent223f761330486ef4c4c47f3b92cfa6dd0ed9d56a (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
-rw-r--r--sw/source/core/doc/docfmt.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index 055bc4645450..d650a026c71d 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -1443,6 +1443,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() );