diff options
author | Justin Luth <justin_luth@sil.org> | 2017-08-30 18:08:15 -0400 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-11-08 09:13:37 +0100 |
commit | 0dda116236e1532f2006f488b974bb9c7067ac5f (patch) | |
tree | e91be789ab51c018ce8c54d8bfe460fb5a99b6f7 | |
parent | 8d366246234e5df784e7596e4c5b21891ae463c1 (diff) |
tdf#104602: don't re-draw page background when bOnlyTextBackground
In 2014 Writer gained support for Paragraph and PageStyle DrawingLayer
FillAttributes, it changed some behaviour with PaintBackground,
so that compat setting BACKGROUND_PARA_OVER_DRAWINGS now overwrote
the entire "hell" layer as the page background was re-applied.
Only DOCX uses this 2012 compatibility setting.
Change-Id: I69517efb7d82acd719d6a27a09ba61554dbf1ec9
Reviewed-on: https://gerrit.libreoffice.org/41744
Reviewed-by: Justin Luth <justin_luth@sil.org>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit de0993097cad2fd5819f8bea5ff53cddce7cde41)
Reviewed-on: https://gerrit.libreoffice.org/41902
(cherry picked from commit 7117e92448ea328bd4798e873a2faecda748a369)
Reviewed-on: https://gerrit.libreoffice.org/44442
Tested-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r-- | sw/source/core/layout/paintfrm.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index ba8fdc916207..68d1440ac520 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -6543,7 +6543,7 @@ void SwFrame::PaintBackground( const SwRect &rRect, const SwPageFrame *pPage, if( IsTextFrame() || IsSctFrame() ) aPaintRect = UnionFrame( true ); - if ( aPaintRect.IsOver( rRect ) ) + if ( (!bOnlyTextBackground || IsTextFrame()) && aPaintRect.IsOver( rRect ) ) { if ( bBack || bPageFrame || !bLowerMode ) { @@ -6637,7 +6637,6 @@ void SwFrame::PaintBackground( const SwRect &rRect, const SwPageFrame *pPage, // background transparency have to be considered // Set missing 5th parameter to the default value GRFNUM_NO // - see declaration in /core/inc/frmtool.hxx. - if (IsTextFrame() || !bOnlyTextBackground) ::DrawGraphic( pItem, pOut, @@ -6682,7 +6681,7 @@ void SwFrame::PaintBackground( const SwRect &rRect, const SwPageFrame *pPage, if ( ( pFrame->IsLayoutFrame() && bLowerBorder ) || aFrameRect.IsOver( aRect ) ) pFrame->PaintBackground( aRect, pPage, rTmpAttrs, bLowMode, - bLowerBorder ); + bLowerBorder, bOnlyTextBackground ); if ( bLowerBorder ) pFrame->PaintBorder( aBorderRect, pPage, rTmpAttrs ); } |