summaryrefslogtreecommitdiff
path: root/sc/source/core/data/conditio.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 16:12:53 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 23:50:03 -0400
commit3ddb748a46e9c21fd4a7d8eb82aa7569f3bc868a (patch)
tree627753694a9e26f85dc2efab86f235f28ec795ab /sc/source/core/data/conditio.cxx
parent15a2574da022f10103a82f7b8b259a03fd6664bd (diff)
More on avoiding direct access to reference data members.
Change-Id: I313c6504d7c0beeb68318ce436b48fa900e4cf48
Diffstat (limited to 'sc/source/core/data/conditio.cxx')
-rw-r--r--sc/source/core/data/conditio.cxx22
1 files changed, 12 insertions, 10 deletions
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index 10caa48ea625..02657d8e3356 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -1430,22 +1430,24 @@ ScAddress ScConditionEntry::GetValidSrcPos() const
while ( ( t = static_cast<ScToken*>(pFormula->GetNextReference()) ) != NULL )
{
ScSingleRefData& rRef1 = t->GetSingleRef();
- if ( rRef1.IsTabRel() && !rRef1.IsTabDeleted() )
+ ScAddress aAbs = rRef1.toAbs(aSrcPos);
+ if (!rRef1.IsTabDeleted())
{
- if ( rRef1.nTab < nMinTab )
- nMinTab = rRef1.nTab;
- if ( rRef1.nTab > nMaxTab )
- nMaxTab = rRef1.nTab;
+ if (aAbs.Tab() < nMinTab)
+ nMinTab = aAbs.Tab();
+ if (aAbs.Tab() > nMaxTab)
+ nMaxTab = aAbs.Tab();
}
if ( t->GetType() == svDoubleRef )
{
ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
- if ( rRef2.IsTabRel() && !rRef2.IsTabDeleted() )
+ aAbs = rRef2.toAbs(aSrcPos);
+ if (!rRef2.IsTabDeleted())
{
- if ( rRef2.nTab < nMinTab )
- nMinTab = rRef2.nTab;
- if ( rRef2.nTab > nMaxTab )
- nMaxTab = rRef2.nTab;
+ if (aAbs.Tab() < nMinTab)
+ nMinTab = aAbs.Tab();
+ if (aAbs.Tab() > nMaxTab)
+ nMaxTab = aAbs.Tab();
}
}
}