diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-02-17 12:16:54 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-02-17 12:34:35 +0100 |
commit | 1e33cd8355eb1d856a1439b4a095e379b3acf0bd (patch) | |
tree | 18901b04e50449278fd861159db440a89a876fac /sw | |
parent | e46549e9550d840b9d6b9cefee920f4f32ade7dc (diff) |
tdf#82661 SwFrm::PaintBackground: handle fill attrs when comparing background
Regression from 7d9bb549d498d6beed2c4050c402d09643febdfa (Related:
i#124638 Second step of DrawingLayer FillAttributes..., 2014-06-02),
should be good enough till SdrAllFillAttributesHelper gets its own
operator ==().
Change-Id: I03f847bc1589e3771790427d9894cc330a7b8dc6
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/layout/paintfrm.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 4635b3e777a7..0c95140f81ee 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -6455,6 +6455,15 @@ void SwFrm::PaintBaBo( const SwRect& rRect, const SwPageFrm *pPage, pOut->Pop(); } +static bool lcl_compareFillAttributes(const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& pA, const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& pB) +{ + if (pA == pB) + return true; + if (!pA || !pB) + return false; + return pA->getFillAttribute() == pB->getFillAttribute(); +} + /// OD 05.09.2002 #102912# /// Do not paint background for fly frames without a background brush by /// calling <PaintBaBo> at the page or at the fly frame its anchored @@ -6559,8 +6568,8 @@ void SwFrm::PaintBackground( const SwRect &rRect, const SwPageFrm *pPage, ::lcl_CalcBorderRect( aRect, this, rAttrs, false, gProp); if ( (IsTxtFrm() || IsTabFrm()) && GetPrev() ) { - if ( GetPrev()->GetAttrSet()->GetBackground() == - GetAttrSet()->GetBackground() ) + if ( GetPrev()->GetAttrSet()->GetBackground() == GetAttrSet()->GetBackground() && + lcl_compareFillAttributes(GetPrev()->getSdrAllFillAttributesHelper(), getSdrAllFillAttributesHelper())) { aRect.Top( Frm().Top() ); } |