sc/inc/address.hxx | 3 +-- sc/source/core/data/document.cxx | 4 ++-- sc/source/core/data/markdata.cxx | 2 +- sc/source/core/tool/address.cxx | 28 ++++++---------------------- sc/source/core/tool/compiler.cxx | 2 +- sc/source/core/tool/interpr3.cxx | 2 +- sc/source/core/tool/interpr4.cxx | 2 +- sc/source/filter/excel/xehelper.cxx | 2 +- sc/source/filter/excel/xename.cxx | 2 +- sc/source/ui/app/inputhdl.cxx | 2 +- sc/source/ui/app/scmod.cxx | 2 +- sc/source/ui/docshell/externalrefmgr.cxx | 2 +- sc/source/ui/miscdlgs/optsolver.cxx | 2 +- sc/source/ui/unoobj/cellsuno.cxx | 10 +++++----- sc/source/ui/unoobj/chart2uno.cxx | 2 +- sc/source/ui/unoobj/cursuno.cxx | 18 +++++++++--------- sc/source/ui/view/gridwin.cxx | 6 +++--- sc/source/ui/view/gridwin4.cxx | 2 +- sc/source/ui/view/tabview3.cxx | 2 +- sc/source/ui/view/tabvwsh3.cxx | 4 ++-- sc/source/ui/view/viewfun2.cxx | 4 ++-- 21 files changed, 43 insertions(+), 60 deletions(-)
New commits: commit 5ee9e2983a4b0f3df31e7f8ea4695c2c789edc56 Author: Eike Rathke <er...@redhat.com> Date: Wed Jul 8 22:02:48 2015 +0200 remove ScRange::Justify() and replace calls with PutInOrder() Change-Id: I350050ac085b1f220d5288d33c253ba0c9a5fd2c diff --git a/sc/inc/address.hxx b/sc/inc/address.hxx index f6650d4..9c062b8 100644 --- a/sc/inc/address.hxx +++ b/sc/inc/address.hxx @@ -540,15 +540,14 @@ public: inline void GetVars( SCCOL& nCol1, SCROW& nRow1, SCTAB& nTab1, SCCOL& nCol2, SCROW& nRow2, SCTAB& nTab2 ) const; + SC_DLLPUBLIC void PutInOrder(); // The document for the maximum defined sheet number SC_DLLPUBLIC bool Move( SCsCOL aDeltaX, SCsROW aDeltaY, SCsTAB aDeltaZ, ScDocument* pDocument = NULL ); - SC_DLLPUBLIC void Justify(); SC_DLLPUBLIC void ExtendTo( const ScRange& rRange ); SC_DLLPUBLIC bool Intersects( const ScRange& rRange ) const; // do two ranges intersect? ScRange Intersection( const ScRange& rOther ) const; - void PutInOrder(); inline bool operator==( const ScRange& rRange ) const; inline bool operator!=( const ScRange& rRange ) const; inline bool operator<( const ScRange& rRange ) const; diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index c8e9a0e..95655f2 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -2008,7 +2008,7 @@ void ScDocument::CopyToDocument(const ScRange& rRange, const ScMarkData* pMarks, bool bColRowFlags) { ScRange aNewRange = rRange; - aNewRange.Justify(); + aNewRange.PutInOrder(); if( pDestDoc->aDocName.isEmpty() ) pDestDoc->aDocName = aDocName; @@ -2041,7 +2041,7 @@ void ScDocument::UndoToDocument(const ScRange& rRange, sc::AutoCalcSwitch aAutoCalcSwitch(*this, false); ScRange aNewRange = rRange; - aNewRange.Justify(); + aNewRange.PutInOrder(); SCTAB nTab1 = aNewRange.aStart.Tab(); SCTAB nTab2 = aNewRange.aEnd.Tab(); diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx index 55537b2..28c18d7 100644 --- a/sc/source/core/data/markdata.cxx +++ b/sc/source/core/data/markdata.cxx @@ -99,7 +99,7 @@ void ScMarkData::ResetMark() void ScMarkData::SetMarkArea( const ScRange& rRange ) { aMarkRange = rRange; - aMarkRange.Justify(); + aMarkRange.PutInOrder(); if ( !bMarked ) { // Upon creation of a document ScFormatShell GetTextAttrState diff --git a/sc/source/core/tool/address.cxx b/sc/source/core/tool/address.cxx index a3f756d..81e4047 100644 --- a/sc/source/core/tool/address.cxx +++ b/sc/source/core/tool/address.cxx @@ -1426,25 +1426,6 @@ void ScRange::PutInOrder() } } -void ScRange::Justify() -{ - SCCOL nTempCol; - if ( aEnd.Col() < (nTempCol = aStart.Col()) ) - { - aStart.SetCol(aEnd.Col()); aEnd.SetCol(nTempCol); - } - SCROW nTempRow; - if ( aEnd.Row() < (nTempRow = aStart.Row()) ) - { - aStart.SetRow(aEnd.Row()); aEnd.SetRow(nTempRow); - } - SCTAB nTempTab; - if ( aEnd.Tab() < (nTempTab = aStart.Tab()) ) - { - aStart.SetTab(aEnd.Tab()); aEnd.SetTab(nTempTab); - } -} - void ScRange::ExtendTo( const ScRange& rRange ) { OSL_ENSURE( rRange.IsValid(), "ScRange::ExtendTo - cannot extend to invalid range" ); diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index e75bce8..0583f71 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -5287,7 +5287,7 @@ bool ScCompiler::HandleTableRef() else { aColRange.aEnd = mpToken->GetSingleRef()->toAbs( aPos); - aColRange.Justify(); + aColRange.PutInOrder(); bCol2Rel = mpToken->GetSingleRef()->IsColRel(); bCol2RelName = mpToken->GetSingleRef()->IsRelName(); } diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx index 47ac91e..f064f65 100644 --- a/sc/source/core/tool/interpr3.cxx +++ b/sc/source/core/tool/interpr3.cxx @@ -3692,7 +3692,7 @@ void ScInterpreter::GetNumberSequenceArray( sal_uInt8 nParamCount, vector<double if (nGlobalError) break; - aRange.Justify(); + aRange.PutInOrder(); SCSIZE nCellCount = aRange.aEnd.Col() - aRange.aStart.Col() + 1; nCellCount *= aRange.aEnd.Row() - aRange.aStart.Row() + 1; rArray.reserve( rArray.size() + nCellCount); diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index 72e0ce1..08c76b8 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -1308,7 +1308,7 @@ void ScInterpreter::DoubleRefToRange( const ScComplexRefData & rCRef, rRange.aStart.Set( nCol, nRow, nTab ); SingleRefToVars( rCRef.Ref2, nCol, nRow, nTab); rRange.aEnd.Set( nCol, nRow, nTab ); - rRange.Justify(); + rRange.PutInOrder(); if (! pDok->aTableOpList.empty() && !bDontCheckForTableOp ) { if ( IsTableOpInRange( rRange ) ) diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx index 0109d5e..ab144bb 100644 --- a/sc/source/filter/excel/xehelper.cxx +++ b/sc/source/filter/excel/xehelper.cxx @@ -203,7 +203,7 @@ bool XclExpAddressConverter::CheckRange( const ScRange& rScRange, bool bWarn ) bool XclExpAddressConverter::ValidateRange( ScRange& rScRange, bool bWarn ) { - rScRange.Justify(); + rScRange.PutInOrder(); // check start position bool bValidStart = CheckAddress( rScRange.aStart, bWarn ); diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx index d6347bc..3070752 100644 --- a/sc/source/filter/excel/xename.cxx +++ b/sc/source/filter/excel/xename.cxx @@ -601,7 +601,7 @@ void XclExpNameManagerImpl::CreateBuiltInNames() // Calc document does not care about sheet index in print ranges aRange.aStart.SetTab( nScTab ); aRange.aEnd.SetTab( nScTab ); - aRange.Justify(); + aRange.PutInOrder(); aRangeList.Append( aRange ); } // create the NAME record (do not warn if ranges are shrunken) diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index e2a7bc0..001aa27 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -339,7 +339,7 @@ void ScInputHandler::UpdateRange( sal_uInt16 nIndex, const ScRange& rNew ) ColorData nNewColor = pRangeFindList->FindColor( rNew, nIndex ); ScRange aJustified = rNew; - aJustified.Justify(); // Always display Ref in the Formula the right way + aJustified.PutInOrder(); // Always display Ref in the Formula the right way ScDocument* pDoc = pDocView->GetViewData().GetDocument(); const ScAddress::Details aAddrDetails( pDoc, aCursorPos ); OUString aNewStr(aJustified.Format(rData.nFlags, pDoc, aAddrDetails)); diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index c135b53..754ba8b 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -1723,7 +1723,7 @@ void ScModule::SetReference( const ScRange& rRef, ScDocument* pDoc, // In RefDialogs we also trigger the ZoomIn, if the Ref's Start and End are different ScRange aNew = rRef; - aNew.Justify(); // Always in the right direction + aNew.PutInOrder(); // Always in the right direction if( nCurRefDlgId ) { diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 042201d..ce77550 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -2170,7 +2170,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokensFromSr } ScRange aRange(rRange); - aRange.Justify(); + aRange.PutInOrder(); SCTAB nTabSpan = aRange.aEnd.Tab() - aRange.aStart.Tab(); vector<ScExternalRefCache::SingleRangeData> aCacheData; diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx index 7f960ac..bb55b6f 100644 --- a/sc/source/ui/miscdlgs/optsolver.cxx +++ b/sc/source/ui/miscdlgs/optsolver.cxx @@ -896,7 +896,7 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal for ( size_t nRangePos=0, nRange = aVarRanges.size(); nRangePos < nRange; ++nRangePos ) { ScRange aRange(*aVarRanges[ nRangePos ] ); - aRange.Justify(); + aRange.PutInOrder(); SCTAB nTab = aRange.aStart.Tab(); // resolve into single cells diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index b7922d6..6f0a835 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -1414,7 +1414,7 @@ ScCellRangesBase::ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR) : --m_refCount; ScRange aCellRange(rR); - aCellRange.Justify(); + aCellRange.PutInOrder(); aRanges.Append( aCellRange ); if (pDocShell) // Null if created with createInstance @@ -1705,7 +1705,7 @@ void ScCellRangesBase::InitInsertRange(ScDocShell* pDocSh, const ScRange& rR) pDocShell = pDocSh; ScRange aCellRange(rR); - aCellRange.Justify(); + aCellRange.PutInOrder(); aRanges.RemoveAll(); aRanges.Append( aCellRange ); @@ -1727,7 +1727,7 @@ void ScCellRangesBase::AddRange(const ScRange& rRange, const bool bMergeRanges) void ScCellRangesBase::SetNewRange(const ScRange& rNew) { ScRange aCellRange(rNew); - aCellRange.Justify(); + aCellRange.PutInOrder(); aRanges.RemoveAll(); aRanges.Append( aCellRange ); @@ -4792,7 +4792,7 @@ ScCellRangeObj::ScCellRangeObj(ScDocShell* pDocSh, const ScRange& rR) : pRangePropSet( lcl_GetRangePropertySet() ), aRange( rR ) { - aRange.Justify(); // Anfang / Ende richtig + aRange.PutInOrder(); // Anfang / Ende richtig } ScCellRangeObj::~ScCellRangeObj() @@ -4809,7 +4809,7 @@ void ScCellRangeObj::RefChanged() { const ScRange* pFirst = rRanges[0]; aRange = ScRange(*pFirst); - aRange.Justify(); + aRange.PutInOrder(); } } diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx index d98cea5..755b7aa 100644 --- a/sc/source/ui/unoobj/chart2uno.cxx +++ b/sc/source/ui/unoobj/chart2uno.cxx @@ -3125,7 +3125,7 @@ public: ScRange r; bool bExternal = ScRefTokenHelper::isExternalRef(pToken); ScRefTokenHelper::getRangeFromToken(r, pToken, ScAddress(), bExternal); - r.Justify(); + r.PutInOrder(); mnCols += r.aEnd.Col() - r.aStart.Col() + 1; mnRows += r.aEnd.Row() - r.aStart.Row() + 1; } diff --git a/sc/source/ui/unoobj/cursuno.cxx b/sc/source/ui/unoobj/cursuno.cxx index 285042f..fd30a8a 100644 --- a/sc/source/ui/unoobj/cursuno.cxx +++ b/sc/source/ui/unoobj/cursuno.cxx @@ -100,7 +100,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentRegion() throw(uno::RuntimeExcep OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ] ); - aOneRange.Justify(); + aOneRange.PutInOrder(); ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) { @@ -126,7 +126,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentArray() OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ] ); - aOneRange.Justify(); + aOneRange.PutInOrder(); ScAddress aCursor(aOneRange.aStart); // use the start address of the range ScDocShell* pDocSh = GetDocShell(); @@ -210,7 +210,7 @@ void SAL_CALL ScCellCursorObj::collapseToSize( sal_Int32 nColumns, sal_Int32 nRo OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aNewRange( *rRanges[ 0 ] ); - aNewRange.Justify(); //! wirklich? + aNewRange.PutInOrder(); //! wirklich? long nEndX = aNewRange.aStart.Col() + nColumns - 1; long nEndY = aNewRange.aStart.Row() + nRows - 1; @@ -223,7 +223,7 @@ void SAL_CALL ScCellCursorObj::collapseToSize( sal_Int32 nColumns, sal_Int32 nRo aNewRange.aEnd.SetCol((SCCOL)nEndX); aNewRange.aEnd.SetRow((SCROW)nEndY); - aNewRange.Justify(); //! wirklich? + aNewRange.PutInOrder(); //! wirklich? SetNewRange( aNewRange ); } @@ -299,7 +299,7 @@ void SAL_CALL ScCellCursorObj::gotoStart() throw(uno::RuntimeException, std::exc OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ]); - aOneRange.Justify(); + aOneRange.PutInOrder(); ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) { @@ -327,7 +327,7 @@ void SAL_CALL ScCellCursorObj::gotoEnd() throw(uno::RuntimeException, std::excep OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ] ); - aOneRange.Justify(); + aOneRange.PutInOrder(); ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) { @@ -352,7 +352,7 @@ void SAL_CALL ScCellCursorObj::gotoNext() throw(uno::RuntimeException, std::exce OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ] ); - aOneRange.Justify(); + aOneRange.PutInOrder(); ScAddress aCursor(aOneRange.aStart); // bei Block immer den Start nehmen ScMarkData aMark; // not used with bMarked=FALSE @@ -374,7 +374,7 @@ void SAL_CALL ScCellCursorObj::gotoPrevious() throw(uno::RuntimeException, std:: OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ] ); - aOneRange.Justify(); + aOneRange.PutInOrder(); ScAddress aCursor(aOneRange.aStart); // bei Block immer den Start nehmen ScMarkData aMark; // not used with bMarked=FALSE @@ -396,7 +396,7 @@ void SAL_CALL ScCellCursorObj::gotoOffset( sal_Int32 nColumnOffset, sal_Int32 nR const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); ScRange aOneRange( *rRanges[ 0 ] ); - aOneRange.Justify(); + aOneRange.PutInOrder(); if ( aOneRange.aStart.Col() + nColumnOffset >= 0 && aOneRange.aEnd.Col() + nColumnOffset <= MAXCOL && diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 5acc912..c6ba729 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -5068,8 +5068,8 @@ static void lcl_PaintRefChanged( ScDocShell* pDocSh, const ScRange& rOldUn, cons ScRange aOld = rOldUn; ScRange aNew = rNewUn; - aOld.Justify(); - aNew.Justify(); + aOld.PutInOrder(); + aNew.PutInOrder(); if ( aOld.aStart == aOld.aEnd ) //! Tab ignorieren? pDocSh->GetDocument().ExtendMerge(aOld); @@ -5255,7 +5255,7 @@ void ScGridWindow::RFMouseMove( const MouseEvent& rMEvt, bool bUp ) } if ( bUp ) - aNew.Justify(); // beim ButtonUp wieder richtigherum + aNew.PutInOrder(); // beim ButtonUp wieder richtigherum if ( aNew != aOld ) { diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 4357f52..9a0dfd6 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -855,7 +855,7 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI ScRangeFindData& rData = pRangeFinder->GetObject(i); ScRange aRef = rData.aRef; - aRef.Justify(); + aRef.PutInOrder(); if ( aRef.aStart.Tab() >= nTab && aRef.aEnd.Tab() <= nTab ) aOutputData.DrawRefMark( aRef.aStart.Col(), aRef.aStart.Row(), aRef.aEnd.Col(), aRef.aEnd.Row(), diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index 3229f08..80f7858 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -2028,7 +2028,7 @@ void ScTabView::PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCRO void ScTabView::PaintRangeFinderEntry (ScRangeFindData* pData, const SCTAB nTab) { ScRange aRef = pData->aRef; - aRef.Justify(); // Justify fuer die Abfragen unten + aRef.PutInOrder(); // PutInOrder fuer die Abfragen unten if ( aRef.aStart == aRef.aEnd ) //! Tab ignorieren? aViewData.GetDocument()->ExtendMerge(aRef); diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx index 8fdce44..f0fc87f 100644 --- a/sc/source/ui/view/tabvwsh3.cxx +++ b/sc/source/ui/view/tabvwsh3.cxx @@ -360,9 +360,9 @@ void ScTabViewShell::Execute( SfxRequest& rReq ) { ScRange aOldMark; rMark.GetMarkArea( aOldMark ); - aOldMark.Justify(); + aOldMark.PutInOrder(); ScRange aCurrent = aScRange; - aCurrent.Justify(); + aCurrent.PutInOrder(); bNothing = ( aCurrent == aOldMark ); } else diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 9919956..ce0457a 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -1503,7 +1503,7 @@ void ScViewFunc::FillCrossDblClick() { ScRange aRange; GetViewData().GetSimpleArea( aRange ); - aRange.Justify(); + aRange.PutInOrder(); SCTAB nTab = GetViewData().GetCurPos().Tab(); SCCOL nStartX = aRange.aStart.Col(); @@ -1563,7 +1563,7 @@ void ScViewFunc::ConvertFormulaToValue() { ScRange aRange; GetViewData().GetSimpleArea(aRange); - aRange.Justify(); + aRange.PutInOrder(); ScDocShell* pDocSh = GetViewData().GetDocShell(); pDocSh->GetDocFunc().ConvertFormulaToValue(aRange, true, true); commit b4317a01a72b2e0944311e6ad407cdf2ac0b1f1a Author: Eike Rathke <er...@redhat.com> Date: Wed Jul 8 19:34:11 2015 +0200 replace implementation of ScRange::PutInOrder() with that of Justify() It does the same, just more efficicient. Change-Id: Iee2e6a40cf8f8e8be629b458520ae392501af3e9 diff --git a/sc/source/core/tool/address.cxx b/sc/source/core/tool/address.cxx index fa34c64..a3f756d 100644 --- a/sc/source/core/tool/address.cxx +++ b/sc/source/core/tool/address.cxx @@ -1406,21 +1406,24 @@ ScRange ScRange::Intersection( const ScRange& rOther ) const void ScRange::PutInOrder() { - SCCOL nCol1 = aStart.Col(), nCol2 = aEnd.Col(); - SCROW nRow1 = aStart.Row(), nRow2 = aEnd.Row(); - SCTAB nTab1 = aStart.Tab(), nTab2 = aEnd.Tab(); - - ::PutInOrder(nCol1, nCol2); - ::PutInOrder(nRow1, nRow2); - ::PutInOrder(nTab1, nTab2); - - aStart.SetCol(nCol1); - aStart.SetRow(nRow1); - aStart.SetTab(nTab1); - - aEnd.SetCol(nCol2); - aEnd.SetRow(nRow2); - aEnd.SetTab(nTab2); + SCCOL nTempCol; + if ( aEnd.Col() < (nTempCol = aStart.Col()) ) + { + aStart.SetCol(aEnd.Col()); + aEnd.SetCol(nTempCol); + } + SCROW nTempRow; + if ( aEnd.Row() < (nTempRow = aStart.Row()) ) + { + aStart.SetRow(aEnd.Row()); + aEnd.SetRow(nTempRow); + } + SCTAB nTempTab; + if ( aEnd.Tab() < (nTempTab = aStart.Tab()) ) + { + aStart.SetTab(aEnd.Tab()); + aEnd.SetTab(nTempTab); + } } void ScRange::Justify() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits