summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-05-12 17:11:37 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-05-12 17:25:57 +0200
commitf7b88a2b03122360b2e60e2afa453603022d28df (patch)
tree88ca7b6b7462e2fafb32d4c06f322a781a01cff2
parent5f0420450af03f606c8cd7afe337ca32d5857b9c (diff)
fdo#78608 SwTxtFrm::Paint: fix missing repaint problem on the left edge
Change-Id: Iba66a82e4a92a0afe1ad923cf4e0922730bd03de
-rw-r--r--sw/source/core/text/frmpaint.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/sw/source/core/text/frmpaint.cxx b/sw/source/core/text/frmpaint.cxx
index 69eb30259dbd..112c1486038c 100644
--- a/sw/source/core/text/frmpaint.cxx
+++ b/sw/source/core/text/frmpaint.cxx
@@ -437,6 +437,14 @@ SwRect SwTxtFrm::Paint()
pRepaint->SetOfst( 0 );
aRet = *pRepaint;
+ // In case our left edge is the same as the body frame's left edge,
+ // then extend the rectangle to include the page margin as well,
+ // otherwise some font will be clipped.
+ SwLayoutFrm* pBodyFrm = GetUpper();
+ if (pBodyFrm->IsBodyFrm() && aRet.Left() == (pBodyFrm->Frm().Left() + pBodyFrm->Prt().Left()))
+ if (SwLayoutFrm* pPageFrm = pBodyFrm->GetUpper())
+ aRet.Left(pPageFrm->Frm().Left());
+
if ( IsRightToLeft() )
SwitchLTRtoRTL( aRet );