diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-08-25 21:03:05 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-08-25 21:04:27 +0200 |
commit | c305f3cd2cdea7a3908b6eeeaa374ca32aac6d41 (patch) | |
tree | 9585992bff15b74c40ddaa9d0e9336983fd5b478 | |
parent | 9e47de44737d9db36292f7bb8be2d9d2e0fffb52 (diff) |
be extrasave and check for problems with ScRangeName::insert
-rw-r--r-- | sc/source/core/data/cell.cxx | 12 |
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); |