diff options
| author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-01-04 21:54:05 +0100 |
|---|---|---|
| committer | Petr Mladek <pmladek@suse.cz> | 2012-01-10 11:24:42 +0100 |
| commit | c17724737cc54fbecb32c510c437c4fda045d94b (patch) | |
| tree | 2aa93ae32645b71e34d23fbab6f14e8196d26094 | |
| parent | a0347a9b94e2dc4ee1906341aa187d6a9f7749af (diff) | |
Page Break: fixed position of tab in RTL and added dirty hack for freezes
| -rw-r--r-- | sw/source/ui/docvw/PageBreakWin.cxx | 16 |
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(); } |
