summaryrefslogtreecommitdiff
path: root/sc/source/core/data/conditio.cxx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-11-12 07:16:05 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-11-12 07:22:07 +0100
commiteb240530443b964ea45bf80a5e3711e11a3f09c5 (patch)
tree5758fff3a7b509fce21477dc185b4e47e02805f6 /sc/source/core/data/conditio.cxx
parent51533c729fc57dea539163f45fb5152a864467f0 (diff)
remove conditional formats withiout range after import, related fdo#56983
Change-Id: I9a8c02369c3e5a12310a46229bdc1671f75593ad
Diffstat (limited to 'sc/source/core/data/conditio.cxx')
-rw-r--r--sc/source/core/data/conditio.cxx20
1 files changed, 16 insertions, 4 deletions
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index f164cc48aa40..ecece736a86a 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -1975,20 +1975,32 @@ void ScConditionalFormatList::UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos )
itr->UpdateMoveTab( nOldPos, nNewPos );
}
-void ScConditionalFormatList::DeleteArea( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 )
+bool ScConditionalFormatList::CheckAllEntries()
{
- for( iterator itr = begin(); itr != end(); ++itr)
- itr->DeleteArea( nCol1, nRow1, nCol2, nRow2 );
-
+ bool bValid = true;
+ //
// need to check which must be deleted
iterator itr = begin();
while(itr != end())
{
if(itr->GetRange().empty())
+ {
+ bValid = false;
maConditionalFormats.erase(itr++);
+ }
else
++itr;
}
+
+ return bValid;
+}
+
+void ScConditionalFormatList::DeleteArea( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 )
+{
+ for( iterator itr = begin(); itr != end(); ++itr)
+ itr->DeleteArea( nCol1, nRow1, nCol2, nRow2 );
+
+ CheckAllEntries();
}
void ScConditionalFormatList::SourceChanged( const ScAddress& rAddr )