diff options
-rw-r--r-- | sc/source/core/data/column3.cxx | 7 | ||||
-rw-r--r-- | sc/source/core/data/dpoutput.cxx | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 73c0bbbde9bb..8bd0a452a1f3 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -35,6 +35,7 @@ #include <sfx2/objsh.hxx> #include <svl/zforlist.hxx> #include <svl/zformat.hxx> +#include <svl/broadcast.hxx> #include "scitems.hxx" #include "column.hxx" @@ -414,6 +415,12 @@ void ScColumn::DeleteRange( SCSIZE nStartIndex, SCSIZE nEndIndex, sal_uInt16 nDe if( pNote || pBC ) pNoteCell = new ScNoteCell( pNote, pBC ); } + else + { + SvtBroadcaster* pBC = pOldCell->GetBroadcaster(); + if (pBC && pBC->HasListeners()) + pNoteCell = new ScNoteCell(pOldCell->ReleaseNote(), pBC); + } // remove cell entry in cell item list SCROW nOldRow = maItems[nIdx].nRow; diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index 32179e3807aa..ccec280fb305 100644 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -973,11 +973,6 @@ void ScDPOutput::Output() if ( bSizeOverflow || bResultsError ) // does output area exceed sheet limits? return; // nothing - // clear whole (new) output area - //! when modifying table, clear old area - //! include IDF_OBJECTS ??? - pDoc->DeleteAreaTab( aStartPos.Col(), aStartPos.Row(), nTabEndCol, nTabEndRow, nTab, IDF_ALL ); - if ( bDoFilter ) lcl_DoFilterButton( pDoc, aStartPos.Col(), aStartPos.Row(), nTab ); |