diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-08-28 18:47:37 +0200 |
---|---|---|
committer | Noel Power <noel.power@suse.com> | 2012-08-29 09:34:46 +0100 |
commit | cedaa445535e9337294a46cb75c4850294e4f715 (patch) | |
tree | 7c9c32263e916a530cbf8afb40a0115413d65d47 | |
parent | ba08ba5b30f906b795360ce4579721b25e316ae7 (diff) |
prevent double delete of broadcaster, fdo#54074, fdo#53364
Change-Id: I7d94525daaeb7c8268fb10594c8a21ebcd52311c
Signed-off-by: Noel Power <noel.power@suse.com>
-rw-r--r-- | sc/source/core/data/column3.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index aab315c30029..6495ca6598e1 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -401,8 +401,11 @@ void ScColumn::DeleteRange( SCSIZE nStartIndex, SCSIZE nEndIndex, sal_uInt16 nDe SvtBroadcaster* pBC = pOldCell->GetBroadcaster(); bool bKeepBC = pBC && pBC->HasListeners(); // #i99844# do not release broadcaster from old cell, it still has to notify deleted content - if ( bKeepBC) - pNoteCell = new ScNoteCell( pBC ); + if (bKeepBC) + { + pNoteCell = new ScNoteCell( pBC ); + pOldCell->ReleaseBroadcaster(); + } // remove cell entry in cell item list SCROW nOldRow = maItems[nIdx].nRow; |