diff options
Diffstat (limited to 'svtools/source/control')
-rw-r--r-- | svtools/source/control/ctrlbox.cxx | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx index 8082056ca21e..2afe11f7ae6a 100644 --- a/svtools/source/control/ctrlbox.cxx +++ b/svtools/source/control/ctrlbox.cxx @@ -1899,13 +1899,13 @@ void FontSizeBox::SetRelative( bool bNewRelative ) if ( bPtRelative ) { + Clear(); //clear early because SetDecimalDigits is a slow recalc + SetDecimalDigits( 1 ); SetMin( nPtRelMin ); SetMax( nPtRelMax ); SetUnit( FUNIT_POINT ); - Clear(); - short i = nPtRelMin, n = 0; // JP 30.06.98: more than 100 values are not useful while ( i <= nPtRelMax && n++ < 100 ) @@ -1916,12 +1916,13 @@ void FontSizeBox::SetRelative( bool bNewRelative ) } else { + Clear(); //clear early because SetDecimalDigits is a slow recalc + SetDecimalDigits( 0 ); SetMin( nRelMin ); SetMax( nRelMax ); SetUnit( FUNIT_PERCENT ); - Clear(); sal_uInt16 i = nRelMin; while ( i <= nRelMax ) { @@ -1932,6 +1933,8 @@ void FontSizeBox::SetRelative( bool bNewRelative ) } else { + if (pFontList) + Clear(); //clear early because SetDecimalDigits is a slow recalc bRelative = bPtRelative = false; SetDecimalDigits( 1 ); SetMin( 20 ); |