diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-06-30 05:44:00 +0200 |
---|---|---|
committer | Katarina Machalkova <kmachalkova@suse.cz> | 2011-07-06 10:54:57 +0200 |
commit | 1195ede73b8b6c1f6e3b0f5575450d937a41eaf6 (patch) | |
tree | 92a4c50db3c94922475aa6e09974750fb85ff9e1 /sc | |
parent | c031be7d99d6ae98bd6c4efbfc0d668258610ec1 (diff) |
fix for fdo#38380: update local range names
local range names must be updated like global range names
Signed-off-by: Katarina Machalkova <kmachalkova@novell.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/data/table1.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index 3130ee05ba8d..f120b9011c34 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -1303,6 +1303,12 @@ void ScTable::UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW bUpdated |= aCol[i].UpdateReference( eUpdateRefMode, nCol1, nRow1, nTab1, nCol2, nRow2, nTab2, nDx, nDy, nDz, pUndoDoc ); + if (mpRangeName) + { + ScRange aRange( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );; + mpRangeName->UpdateReference( eUpdateRefMode, aRange, nDx, nDy, nDz ); + } + if ( bIncludeDraw ) UpdateDrawRef( eUpdateRefMode, nCol1, nRow1, nTab1, nCol2, nRow2, nTab2, nDx, nDy, nDz, bUpdateNoteCaptionPos ); @@ -1410,6 +1416,9 @@ void ScTable::UpdateInsertTab(SCTAB nTable) } for (SCCOL i=0; i <= MAXCOL; i++) aCol[i].UpdateInsertTab(nTable); + if (mpRangeName) + mpRangeName->UpdateTabRef( nTable, 1); + if (IsStreamValid()) SetStreamValid(false); } @@ -1429,6 +1438,11 @@ void ScTable::UpdateDeleteTab( SCTAB nTable, sal_Bool bIsMove, ScTable* pRefUndo else for (i=0; i <= MAXCOL; i++) aCol[i].UpdateDeleteTab(nTable, bIsMove, NULL); + if (mpRangeName) + { + mpRangeName->UpdateTabRef( nTable, 2 ); + } + if (IsStreamValid()) SetStreamValid(false); } @@ -1443,6 +1457,9 @@ void ScTable::UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos, SCTAB nTabNo, rProgress.SetState( rProgress.GetState() + aCol[i].GetCodeCount() ); } + if (mpRangeName) + mpRangeName->UpdateTabRef(nOldPos, 3, nNewPos); + if (IsStreamValid()) SetStreamValid(false); if (pDBDataNoName) |