summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2018-02-26 13:21:46 +0100
committerKatarina Behrens <Katarina.Behrens@cib.de>2018-02-27 10:05:43 +0100
commit814e50e6622ea9701094f3ec309a395d175c494f (patch)
treec633a2d108c27f50c7d62e4ecee8ef897243c677 /sd
parent573f87f6ea57a248c79f52b1cd4e5f1978112567 (diff)
Performance is still sluggish, so use non-broadcasting function
avoid O(n^2) due to broadcasting in the initial round of spellcheck. Also always delete OPO Change-Id: I70f2165686dee6a22ab7803e21ed886ff1679d07 Reviewed-on: https://gerrit.libreoffice.org/50360 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/core/drawdoc4.cxx9
1 files changed, 3 insertions, 6 deletions
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index e9540d7bf318..a990a41ef772 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -903,15 +903,12 @@ void SdDrawDocument::SpellObject(SdrTextObj* pObj)
sd::ModifyGuard aGuard( this );
// taking text from the outliner
- pObj->SetOutlinerParaObject( pOPO );
- // SetOPO takes care of broadcasting object change
-
+ // use non-broadcasting version to avoid O(n^2)
+ pObj->NbcSetOutlinerParaObject( pOPO );
pOPO = nullptr;
}
- else
- delete pOPO;
}
-
+ delete pOPO;
}
}