summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2011-08-25 21:03:05 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2011-08-25 21:04:27 +0200
commitc305f3cd2cdea7a3908b6eeeaa374ca32aac6d41 (patch)
tree9585992bff15b74c40ddaa9d0e9336983fd5b478
parent9e47de44737d9db36292f7bb8be2d9d2e0fffb52 (diff)
be extrasave and check for problems with ScRangeName::insert
-rw-r--r--sc/source/core/data/cell.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 943842ffbfac..05c227946046 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -179,10 +179,18 @@ void adjustRangeName(ScToken* pToken, ScDocument& rNewDoc, const ScDocument* pOl
{
bNewGlobal = bOldGlobal;
pRangeData = new ScRangeData(*pOldRangeData, &rNewDoc);
+ bool bInserted;
if (bNewGlobal)
- rNewDoc.GetRangeName()->insert(pRangeData);
+ bInserted = rNewDoc.GetRangeName()->insert(pRangeData);
else
- rNewDoc.GetRangeName(aNewTab)->insert(pRangeData);
+ bInserted = rNewDoc.GetRangeName(aNewTab)->insert(pRangeData);
+ if (!bInserted)
+ {
+ //if this happened we have a real problem
+ delete pRangeData;
+ pToken->SetIndex(-1);
+ OSL_FAIL("inserting the range name should not fail");
+ }
}
sal_Int32 nIndex = pRangeData->GetIndex();
pToken->SetIndex(nIndex);