summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2011-12-20 15:59:34 +0100
committerEike Rathke <erack@redhat.com>2011-12-20 16:01:46 +0100
commitb34b0ff236618ec026e96c8bc90c6354a51c8045 (patch)
tree5f1017d20b573ba8b633232d65dd134d321e0480 /sc/inc
parent6f0af3c2e3bef9e4d683e27f783024c799452a63 (diff)
another "ScToken::GetDoubleRef: virtual dummy called"
When checking for svSingleRef or svDoubleRef, also check for svExternalSingleRef or svExternalDoubleRef. Otherwise the dummy reference is treated.
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/token.hxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/sc/inc/token.hxx b/sc/inc/token.hxx
index 90c9dfbc48ac..fc65823d273b 100644
--- a/sc/inc/token.hxx
+++ b/sc/inc/token.hxx
@@ -455,7 +455,8 @@ class SingleDoubleRefModifier
public:
SingleDoubleRefModifier( ScToken& rT )
{
- if ( rT.GetType() == formula::svSingleRef )
+ formula::StackVar eType = rT.GetType();
+ if ( eType == formula::svSingleRef || eType == formula::svExternalSingleRef )
{
pS = &rT.GetSingleRef();
aDub.Ref1 = aDub.Ref2 = *pS;
@@ -490,8 +491,9 @@ public:
SingleDoubleRefProvider( const ScToken& r )
: Ref1( r.GetSingleRef() ),
- Ref2( r.GetType() == formula::svDoubleRef ?
- r.GetDoubleRef().Ref2 : Ref1 )
+ Ref2( (r.GetType() == formula::svDoubleRef ||
+ r.GetType() == formula::svExternalDoubleRef) ?
+ r.GetDoubleRef().Ref2 : Ref1 )
{}
SingleDoubleRefProvider( const ScSingleRefData& r )
: Ref1( r ), Ref2( r )