[Libreoffice-commits] .: Branch 'feature/unlimited-number-of-sheets' - sc/source
Markus Mohrhard
mmohrhard at kemper.freedesktop.org
Mon May 23 17:46:30 PDT 2011
sc/source/core/data/markdata.cxx | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
New commits:
commit 1e14e2d5cf2827edf17ea2ae9ec97aa5a8d232c0
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Tue May 24 02:45:41 2011 +0200
fix wrong rework for ScMArkData::InsertTab and DeleteTab
diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx
index 34edaec..edd5a6d 100644
--- a/sc/source/core/data/markdata.cxx
+++ b/sc/source/core/data/markdata.cxx
@@ -600,14 +600,24 @@ sal_Bool ScMarkData::HasAnyMultiMarks() const
return false; // nix
}
-void ScMarkData::InsertTab( SCTAB nTab )//TODO:REWORK
+void ScMarkData::InsertTab( SCTAB nTab )
{
- maTabMarked.insert( nTab );
+ std::set<SCTAB> tabMarked(maTabMarked.begin(), maTabMarked.upper_bound(nTab));
+ tabMarked.insert( nTab );
+ std::set<SCTAB>::iterator it = maTabMarked.upper_bound(nTab);
+ for (; it != maTabMarked.end(); ++it)
+ tabMarked.insert(*it + 1);
+ maTabMarked.swap(tabMarked);
}
-void ScMarkData::DeleteTab( SCTAB nTab )//TODO:REWORK
+void ScMarkData::DeleteTab( SCTAB nTab )
{
- maTabMarked.erase( nTab );
+ std::set<SCTAB> tabMarked(maTabMarked.begin(), maTabMarked.find(nTab));
+ tabMarked.erase( nTab );
+ std::set<SCTAB>::iterator it = maTabMarked.find(nTab);
+ for (; it != maTabMarked.end(); ++it)
+ tabMarked.insert(*it + 1);
+ maTabMarked.swap(tabMarked);
}
More information about the Libreoffice-commits
mailing list