diff options
author | Eike Rathke <erack@redhat.com> | 2016-05-13 19:16:26 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-05-13 20:08:45 +0200 |
commit | bc1c92ef41e5f70eee7799d301b54985999482bb (patch) | |
tree | 6f8327093844bc3b286e3e0e3a4554907747e897 /sc/inc/compiler.hxx | |
parent | 5b78551dcf54158adffe3236a45946942af5f354 (diff) |
recognize #REF! particles of invalidated references, tdf#86575 follow-up
... so they result in an invalid reference again producing a #REF! error
instead of a bad string producing #NAME? error.
This way we can handle the invalid #REF!.A1 and similar references that
were wrongly written to ODFF between 2013 and 2016 until 5.1.4
As a benefit, this is now also the case in UI, e.g. when recompiling
changed names with already invalidated references.
Change-Id: I117d709f594b7c37d899528a51220c1855b7817d
Diffstat (limited to 'sc/inc/compiler.hxx')
-rw-r--r-- | sc/inc/compiler.hxx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx index d8f5e3e3cede..abc41e5a4407 100644 --- a/sc/inc/compiler.hxx +++ b/sc/inc/compiler.hxx @@ -312,10 +312,11 @@ private: bool IsOpCode( const OUString&, bool bInArray ); bool IsOpCode2( const OUString& ); bool IsString(); - bool IsReference( const OUString& ); - bool IsSingleReference( const OUString& ); - bool IsPredetectedReference(const OUString&); - bool IsDoubleReference( const OUString& ); + bool IsReference( const OUString& rSymbol, const OUString* pErrRef = nullptr ); + bool IsSingleReference( const OUString& rSymbol, const OUString* pErrRef = nullptr ); + bool IsDoubleReference( const OUString& rSymbol, const OUString* pErrRef = nullptr ); + bool IsPredetectedReference( const OUString& rSymbol ); + bool IsPredetectedErrRefReference( const OUString& rName, const OUString* pErrRef ); bool IsMacro( const OUString& ); bool IsNamedRange( const OUString& ); bool IsExternalNamedRange( const OUString& rSymbol, bool& rbInvalidExternalNameRange ); |