summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-02-19 21:46:11 +0100
committerJan-Marek Glogowski <glogow@fbihome.de>2014-08-20 09:40:47 +0200
commitc64d028bd0f977260a7ed753983281c7269c8695 (patch)
treee2700ed410769ac4b05708fa1290b17278008fac /sw/source
parentd94adafa6bbfb61864e38940fed2d42f6cf34050 (diff)
fdo#75118: sw: do not paint zero-width lines
Since commit 6a3fb868b2b8af21f7b6140424b6f8377599a786 zero-width BorderLinePrimitive2D will actually be painted as hairlines by VclPixelProcessor2D::tryDrawBorderLinePrimitive2DDirect(), so don't create such pointless primitives. (cherry picked from commit 128d3d51c208ec5c37a105ea5c751530bd017d4b) fdo#75118: actually these are floats, compare with approxEqual (cherry picked from commit 9fb9fc301502c2762ad4a8059d8d1c818d2843db) Change-Id: I4c2404b73f106156b83a6d72efa3c8991e5d659e Reviewed-on: https://gerrit.libreoffice.org/8144 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 1639e174ebb3945f4fda08c30f535f98d3e54d7e)
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/core/layout/paintfrm.cxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 47622528baf3..6cf79966b291 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -2394,8 +2394,8 @@ void SwTabFrmPainter::PaintLines( OutputDevice& rDev, const SwRect& rRect ) cons
break;
const SwLineEntrySet& rEntrySet = (*aIter).second;
- SwLineEntrySetConstIter aSetIter = rEntrySet.begin();
- while ( aSetIter != rEntrySet.end() )
+ for (SwLineEntrySetConstIter aSetIter = rEntrySet.begin();
+ aSetIter != rEntrySet.end(); ++aSetIter)
{
const SwLineEntry& rEntry = *aSetIter;
const svx::frame::Style& rEntryStyle( (*aSetIter).maAttribute );
@@ -2528,6 +2528,12 @@ void SwTabFrmPainter::PaintLines( OutputDevice& rDev, const SwRect& rRect ) cons
aPaintStart.Y() -= nTwipYCorr;
aPaintEnd.Y() -= nTwipYCorr;
+ if (::rtl::math::approxEqual(aStyles[0].Prim(), 0.0) &&
+ ::rtl::math::approxEqual(aStyles[0].Secn(), 0.0))
+ {
+ continue; // fdo#75118 do not paint zero-width lines
+ }
+
// Here comes the painting stuff: Thank you, DR, great job!!!
if ( bHori )
{
@@ -2562,8 +2568,6 @@ void SwTabFrmPainter::PaintLines( OutputDevice& rDev, const SwRect& rRect ) cons
);
}
}
-
- ++aSetIter;
}
++aIter;