diff options
Diffstat (limited to 'svx/source/svdraw/svdtext.cxx')
-rw-r--r-- | svx/source/svdraw/svdtext.cxx | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/svx/source/svdraw/svdtext.cxx b/svx/source/svdraw/svdtext.cxx index 1d5b3be5b240..163453c0882f 100644 --- a/svx/source/svdraw/svdtext.cxx +++ b/svx/source/svdraw/svdtext.cxx @@ -40,21 +40,21 @@ SdrText::~SdrText() void SdrText::CheckPortionInfo( SdrOutliner& rOutliner ) { - if(!mbPortionInfoChecked) + if(mbPortionInfoChecked) + return; + + // #i102062# no action when the Outliner is the HitTestOutliner, + // this will remove WrongList info at the OPO + if(&rOutliner == &mrObject.getSdrModelFromSdrObject().GetHitTestOutliner()) + return; + + // TODO: optimization: we could create a BigTextObject + mbPortionInfoChecked=true; + + if(mpOutlinerParaObject!=nullptr && rOutliner.ShouldCreateBigTextObject()) { - // #i102062# no action when the Outliner is the HitTestOutliner, - // this will remove WrongList info at the OPO - if(&rOutliner == &mrObject.getSdrModelFromSdrObject().GetHitTestOutliner()) - return; - - // TODO: optimization: we could create a BigTextObject - mbPortionInfoChecked=true; - - if(mpOutlinerParaObject!=nullptr && rOutliner.ShouldCreateBigTextObject()) - { - // #i102062# MemoryLeak closed - mpOutlinerParaObject = rOutliner.CreateParaObject(); - } + // #i102062# MemoryLeak closed + mpOutlinerParaObject = rOutliner.CreateParaObject(); } } @@ -109,20 +109,20 @@ std::unique_ptr<OutlinerParaObject> SdrText::RemoveOutlinerParaObject() void SdrText::ForceOutlinerParaObject( OutlinerMode nOutlMode ) { - if(!mpOutlinerParaObject) + if(mpOutlinerParaObject) + return; + + std::unique_ptr<Outliner> pOutliner( + SdrMakeOutliner( + nOutlMode, + mrObject.getSdrModelFromSdrObject())); + + if(pOutliner) { - std::unique_ptr<Outliner> pOutliner( - SdrMakeOutliner( - nOutlMode, - mrObject.getSdrModelFromSdrObject())); - - if(pOutliner) - { - Outliner& aDrawOutliner(mrObject.getSdrModelFromSdrObject().GetDrawOutliner()); - pOutliner->SetCalcFieldValueHdl( aDrawOutliner.GetCalcFieldValueHdl() ); - pOutliner->SetStyleSheet( 0, GetStyleSheet()); - SetOutlinerParaObject( pOutliner->CreateParaObject() ); - } + Outliner& aDrawOutliner(mrObject.getSdrModelFromSdrObject().GetDrawOutliner()); + pOutliner->SetCalcFieldValueHdl( aDrawOutliner.GetCalcFieldValueHdl() ); + pOutliner->SetStyleSheet( 0, GetStyleSheet()); + SetOutlinerParaObject( pOutliner->CreateParaObject() ); } } |