Kaydet (Commit) 06f86d54 authored tarafından Noel Grandin's avatar Noel Grandin

tdf#100756 slowdown in manipulating spreadsheet via UNO

regression from
    commit 5bce3290
    SfxHint: convert home-grown RTTI to normal C++ RTTI

the cost does seem in this case to be mostly the dynamic_cast, but since
we don't need it anymore, just remove it

Change-Id: Icbf51b89c036b86cfb3e4c2a827228ccf25bb3a6
Reviewed-on: https://gerrit.libreoffice.org/54899Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst f122faee
...@@ -987,27 +987,18 @@ void ScCellTextData::UpdateData() ...@@ -987,27 +987,18 @@ void ScCellTextData::UpdateData()
void ScCellTextData::Notify( SfxBroadcaster&, const SfxHint& rHint ) void ScCellTextData::Notify( SfxBroadcaster&, const SfxHint& rHint )
{ {
if ( dynamic_cast<const ScUpdateRefHint*>(&rHint) ) const SfxHintId nId = rHint.GetId();
if ( nId == SfxHintId::Dying )
{ {
// const ScUpdateRefHint& rRef = (const ScUpdateRefHint&)rHint; pDocShell = nullptr; // invalid now
//! Ref-Update DELETEZ( pForwarder );
pEditEngine.reset(); // EditEngine uses document's pool
} }
else else if ( nId == SfxHintId::DataChanged )
{ {
const SfxHintId nId = rHint.GetId(); if (!bInUpdate) // not for own UpdateData calls
if ( nId == SfxHintId::Dying ) bDataValid = false; // text has to be read from the cell again
{
pDocShell = nullptr; // invalid now
DELETEZ( pForwarder );
pEditEngine.reset(); // EditEngine uses document's pool
}
else if ( nId == SfxHintId::DataChanged )
{
if (!bInUpdate) // not for own UpdateData calls
bDataValid = false; // text has to be read from the cell again
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment