summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdmodel.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-04-23 09:26:46 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-04-23 14:10:38 +0200
commit10c934147d469965dba6abc78efd02759a010b8e (patch)
tree54fe37d01913d48abf93bd087c59f95fdcfa5a46 /svx/source/svdraw/svdmodel.cxx
parenta08401155a0b4b49878e8e50d39b2fd3e5278779 (diff)
tdf#113266 slow opening XLS with 45 MB drawing
Some hot-spots around dynamic_cast of SdrHint, so avoid that by creating special SfxHintId::ThisIsAnSdrHint The most common CPU hot-spot was in SvxShape::Notify, the other changes are just for consistency. Also remove some dead code in ScShapeChildren, the Notify method was doing nothing useful. Change-Id: I696db1fcafc09bb10bf23ac673de292746141491 Reviewed-on: https://gerrit.libreoffice.org/71108 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/source/svdraw/svdmodel.cxx')
-rw-r--r--svx/source/svdraw/svdmodel.cxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index da81ce1923f6..d41df0885c57 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -2011,28 +2011,32 @@ const css::uno::Sequence< sal_Int8 >& SdrModel::getUnoTunnelImplementationId()
SdrHint::SdrHint(SdrHintKind eNewHint)
-: meHint(eNewHint),
+: SfxHint(SfxHintId::ThisIsAnSdrHint),
+ meHint(eNewHint),
mpObj(nullptr),
mpPage(nullptr)
{
}
SdrHint::SdrHint(SdrHintKind eNewHint, const SdrObject& rNewObj)
-: meHint(eNewHint),
+: SfxHint(SfxHintId::ThisIsAnSdrHint),
+ meHint(eNewHint),
mpObj(&rNewObj),
mpPage(rNewObj.getSdrPageFromSdrObject())
{
}
SdrHint::SdrHint(SdrHintKind eNewHint, const SdrPage* pPage)
-: meHint(eNewHint),
+: SfxHint(SfxHintId::ThisIsAnSdrHint),
+ meHint(eNewHint),
mpObj(nullptr),
mpPage(pPage)
{
}
SdrHint::SdrHint(SdrHintKind eNewHint, const SdrObject& rNewObj, const SdrPage* pPage)
-: meHint(eNewHint),
+: SfxHint(SfxHintId::ThisIsAnSdrHint),
+ meHint(eNewHint),
mpObj(&rNewObj),
mpPage(pPage)
{