summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-01-04 21:54:05 +0100
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-01-04 21:54:32 +0100
commita0fa723ed5761609d2c31061fdd0282a2f1df6e7 (patch)
tree6e2c18144b8e0b2c6f630d05f628eae478cc5292 /sw
parentf923d1889fee6e5c6a4189611c33b5f8367472ce (diff)
Page Break: fixed position of tab in RTL and added dirty hack for freezes
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/docvw/PageBreakWin.cxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/sw/source/ui/docvw/PageBreakWin.cxx b/sw/source/ui/docvw/PageBreakWin.cxx
index aa1085cb28a9..b16e51f08652 100644
--- a/sw/source/ui/docvw/PageBreakWin.cxx
+++ b/sw/source/ui/docvw/PageBreakWin.cxx
@@ -142,8 +142,11 @@ namespace
m_pWin->Fade( true );
}
- Point* pPtr = new Point( rMEvt.GetPosPixel() );
- m_pWin->UpdatePosition( pPtr );
+ if ( !rMEvt.IsSynthetic() )
+ {
+ Point* pPtr = new Point( rMEvt.GetPosPixel() );
+ m_pWin->UpdatePosition( pPtr );
+ }
}
void SwBreakDashedLine::MouseButtonDown( const MouseEvent& rMEvt )
@@ -450,7 +453,14 @@ void SwPageBreakWin::UpdatePosition( const Point* pEvtPt )
if ( m_pMousePt )
{
nBtnLeft = nLineLeft + m_pMousePt->X();
- if ( ( nBtnLeft + aBtnSize.getWidth() ) > nLineRight )
+
+ if ( Application::GetSettings().GetLayoutRTL() )
+ {
+ nBtnLeft -= aBtnSize.getWidth();
+ if ( nBtnLeft < nLineLeft )
+ nBtnLeft = nLineLeft;
+ }
+ else if ( ( nBtnLeft + aBtnSize.getWidth() ) > nLineRight )
nBtnLeft = nLineRight - aBtnSize.getWidth();
}