diff --git a/cui/source/tabpages/textattr.cxx b/cui/source/tabpages/textattr.cxx index 3058bb9bbf5a..912722a07772 100644 --- a/cui/source/tabpages/textattr.cxx +++ b/cui/source/tabpages/textattr.cxx @@ -312,7 +312,11 @@ void SvxTextAttrPage::Reset( const SfxItemSet* rAttrs ) { SdrFitToSizeType eFTS = (SdrFitToSizeType) static_cast( rAttrs->Get( SDRATTR_TEXT_FITTOSIZE ) ).GetValue(); - m_pTsbFitToSize->SetState( eFTS == SdrFitToSizeType::NONE ? TRISTATE_FALSE : TRISTATE_TRUE ); + if( eFTS == SdrFitToSizeType::Autofit || eFTS == SdrFitToSizeType::NONE ) + m_pTsbFitToSize->SetState( TRISTATE_FALSE ); + else + m_pTsbFitToSize->SetState( TRISTATE_TRUE ); + m_pTsbFitToSize->EnableTriState( false ); } else @@ -410,8 +414,8 @@ bool SvxTextAttrPage::FillItemSet( SfxItemSet* rAttrs) default: ; //prevent warning OSL_FAIL( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" ); SAL_FALLTHROUGH; - case TRISTATE_FALSE: eFTS = SdrFitToSizeType::NONE; break; - case TRISTATE_TRUE: eFTS = SdrFitToSizeType::Autofit; break; + case TRISTATE_FALSE: eFTS = SdrFitToSizeType::Autofit; break; + case TRISTATE_TRUE: eFTS = SdrFitToSizeType::Proportional; break; } rAttrs->Put( SdrTextFitToSizeTypeItem( eFTS ) ); } diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index 7dd1b8d1d47e..f052d6964c1a 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -1936,7 +1936,7 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus ) { AdjustTextFrameWidthAndHeight(); } - else if (IsAutoFit() && !mbInDownScale) + else if ( (IsAutoFit() || IsFitToSize()) && !mbInDownScale) { assert(pEdtOutl); mbInDownScale = true;