summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/xml/XMLExportIterator.cxx40
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx15
2 files changed, 23 insertions, 32 deletions
diff --git a/sc/source/filter/xml/XMLExportIterator.cxx b/sc/source/filter/xml/XMLExportIterator.cxx
index cfbbe540f88d..1662db73621f 100644
--- a/sc/source/filter/xml/XMLExportIterator.cxx
+++ b/sc/source/filter/xml/XMLExportIterator.cxx
@@ -861,33 +861,21 @@ bool ScMyNotEmptyCellsIterator::GetNext(ScMyCell& aCell, ScFormatRangeStyles* pC
table::CellAddress aAddress( nCurrentTable, MAXCOL + 1, MAXROW + 1 );
UpdateAddress( aAddress );
- if( (maNoteExportListItr != maNoteExportList.end()) && IsNoteBeforeNextCell(maNoteExportListItr->nCol, maNoteExportListItr->nRow, aAddress) )
- {
- //we have a note before the new cell
- aAddress.Column = maNoteExportListItr->nCol;
- aAddress.Row = maNoteExportListItr->nRow;
- ++maNoteExportListItr;
- }
- else
- {
- if(maNoteExportListItr != maNoteExportList.end() && maNoteExportListItr->nCol == aAddress.Column && maNoteExportListItr->nRow == aAddress.Row)
- ++maNoteExportListItr;
- if( pShapes )
- pShapes->UpdateAddress( aAddress );
- if( pNoteShapes )
- pNoteShapes->UpdateAddress( aAddress );
- if( pEmptyDatabaseRanges )
- pEmptyDatabaseRanges->UpdateAddress( aAddress );
- if( pMergedRanges )
- pMergedRanges->UpdateAddress( aAddress );
- if( pAreaLinks )
- pAreaLinks->UpdateAddress( aAddress );
- if( pDetectiveObj )
- pDetectiveObj->UpdateAddress( aAddress );
- if( pDetectiveOp )
- pDetectiveOp->UpdateAddress( aAddress );
- }
+ if( pShapes )
+ pShapes->UpdateAddress( aAddress );
+ if( pNoteShapes )
+ pNoteShapes->UpdateAddress( aAddress );
+ if( pEmptyDatabaseRanges )
+ pEmptyDatabaseRanges->UpdateAddress( aAddress );
+ if( pMergedRanges )
+ pMergedRanges->UpdateAddress( aAddress );
+ if( pAreaLinks )
+ pAreaLinks->UpdateAddress( aAddress );
+ if( pDetectiveObj )
+ pDetectiveObj->UpdateAddress( aAddress );
+ if( pDetectiveOp )
+ pDetectiveOp->UpdateAddress( aAddress );
bool bFoundCell((aAddress.Column <= MAXCOL) && (aAddress.Row <= MAXROW));
if( bFoundCell )
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index b599e6e6328d..3882e2f2baa9 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -2531,13 +2531,16 @@ void ScXMLExport::CollectInternalShape( uno::Reference< drawing::XShape > xShape
// collect note caption objects from all layers (internal or hidden)
if( ScDrawObjData* pCaptData = ScDrawLayer::GetNoteCaptionData( pObject, static_cast< SCTAB >( nCurrentTable ) ) )
{
- pSharedData->AddNoteObj( xShape, pCaptData->maStart );
+ if(pDoc->GetNotes(nCurrentTable)->findByAddress(pCaptData->maStart))
+ {
+ pSharedData->AddNoteObj( xShape, pCaptData->maStart );
- // #i60851# When the file is saved while editing a new note,
- // the cell is still empty -> last column/row must be updated
- OSL_ENSURE( pCaptData->maStart.Tab() == nCurrentTable, "invalid table in object data" );
- pSharedData->SetLastColumn( nCurrentTable, pCaptData->maStart.Col() );
- pSharedData->SetLastRow( nCurrentTable, pCaptData->maStart.Row() );
+ // #i60851# When the file is saved while editing a new note,
+ // the cell is still empty -> last column/row must be updated
+ OSL_ENSURE( pCaptData->maStart.Tab() == nCurrentTable, "invalid table in object data" );
+ pSharedData->SetLastColumn( nCurrentTable, pCaptData->maStart.Col() );
+ pSharedData->SetLastRow( nCurrentTable, pCaptData->maStart.Row() );
+ }
}
// other objects from internal layer only (detective)
else if( pObject->GetLayer() == SC_LAYER_INTERN )