From a01356af7f53b1cfa648ac3085f9a78cb6de4e0e Mon Sep 17 00:00:00 2001
From: Eike Rathke <erack@redhat.com>
Date: Wed, 8 Apr 2015 13:07:02 +0200
Subject: TableRef: set errNoRef is there is no resulting range

Change-Id: I19ec176abf3291b2d4ad5baff06f66518680b378
---
 sc/source/core/tool/compiler.cxx | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

(limited to 'sc/source')

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index a561b05ad297..7295dccd1b4e 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4818,11 +4818,7 @@ bool ScCompiler::HandleTableRef()
                     if (pDBData->HasTotals())
                         aRange.aEnd.IncRow(-1);
                     if (aRange.aEnd.Row() < aRange.aStart.Row())
-                    {
-                        /* TODO: add RefData with deleted rows to generate
-                         * #REF! error? */
                         bAddRange = false;
-                    }
                     bForwardToClose = true;
                 }
                 break;
@@ -4840,11 +4836,7 @@ bool ScCompiler::HandleTableRef()
                     if (pDBData->HasHeader())
                         aRange.aStart.IncRow();
                     if (aRange.aEnd.Row() < aRange.aStart.Row())
-                    {
-                        /* TODO: add RefData with deleted rows to generate
-                         * #REF! error? */
                         bAddRange = false;
-                    }
                     bForwardToClose = true;
                 }
                 break;
@@ -4856,11 +4848,7 @@ bool ScCompiler::HandleTableRef()
                         aRange.aEnd.SetRow( aPos.Row());
                     }
                     else
-                    {
-                        /* TODO: add RefData with deleted rows to generate
-                         * #REF! error? */
                         bAddRange = false;
-                    }
                     bForwardToClose = true;
                 }
                 break;
@@ -4872,6 +4860,10 @@ bool ScCompiler::HandleTableRef()
             aRefData.SetRange( aRange, aPos);
             pNew->AddDoubleReference( aRefData );
         }
+        else
+        {
+            SetError( errNoRef);
+        }
         if (bForwardToClose)
         {
             while ((bGotToken = GetToken()) && mpToken->GetOpCode() != ocTableRefClose)
-- 
cgit