[Libreoffice-commits] .: 15 commits - sc/inc sc/source

Jan Holesovsky kendy at kemper.freedesktop.org
Tue May 31 02:01:49 PDT 2011


 sc/inc/scmatrix.hxx               |   31 +++++++++++--------------------
 sc/source/core/tool/interpr5.cxx  |    8 ++------
 sc/source/filter/excel/xiname.cxx |    2 +-
 sc/source/filter/xml/xmldrani.cxx |    8 ++++----
 sc/source/ui/dbgui/imoptdlg.src   |    2 +-
 5 files changed, 19 insertions(+), 32 deletions(-)

New commits:
commit 20721f13aafd740ded8f07b3763c175ff38d4e38
Merge: e1238a6... 847b983...
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Tue May 31 10:46:23 2011 +0200

    Merge branch 'master' of git://anongit.freedesktop.org/libreoffice/calc

commit e1238a6a796d41b9987d5406ccae5251a96fbe77
Merge: d919e10... b62a30a...
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Tue May 31 10:45:43 2011 +0200

    Merge commit 'libreoffice-3.4.0.2'
    
    Conflicts:
    	sc/source/filter/excel/xiname.cxx
    	sc/source/filter/xml/xmldrani.cxx

diff --cc sc/source/filter/excel/xiname.cxx
index f2ade90,90be4dc..261d61f
--- a/sc/source/filter/excel/xiname.cxx
+++ b/sc/source/filter/excel/xiname.cxx
@@@ -270,8 -270,8 +270,8 @@@ const XclImpName* XclImpNameManager::Fi
  
  const XclImpName* XclImpNameManager::GetName( sal_uInt16 nXclNameIdx ) const
  {
 -    DBG_ASSERT( nXclNameIdx > 0, "XclImpNameManager::GetName - index must be >0" );
 +    OSL_ENSURE( nXclNameIdx > 0, "XclImpNameManager::GetName - index must be >0" );
-     return &(maNameList.at( nXclNameIdx - 1 ));
+     return ( nXclNameIdx >= maNameList.size() ) ? NULL : &(maNameList.at( nXclNameIdx - 1 ));
  }
  
  // ============================================================================
diff --cc sc/source/filter/xml/xmldrani.cxx
index c7a26d7,d0fb4aa..5baf226
--- a/sc/source/filter/xml/xmldrani.cxx
+++ b/sc/source/filter/xml/xmldrani.cxx
@@@ -483,11 -466,17 +483,11 @@@ void ScXMLDatabaseRangeContext::EndElem
  
          if (pData.get())
          {
-             // Infer sheet index from the name.
-             OUString aStrNum = sDatabaseRangeName.copy(aName.getLength());
-             SCTAB nTab = static_cast<SCTAB>(aStrNum.toInt32());
+             ScRange aRange;
+             pData->GetArea(aRange);
 -            if (pData->HasAutoFilter())
 -            {
 -                // Set autofilter flags so that the buttons get displayed.
 -                pDoc->ApplyFlagsTab(
 -                    aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aStart.Row(),
 -                    aRange.aStart.Tab(), SC_MF_AUTO);
 -            }
+ 
 +            setAutoFilterFlags(*pDoc, *pData);
-             pDoc->SetAnonymousDBData(nTab, pData.release());
+             pDoc->SetAnonymousDBData(aRange.aStart.Tab(), pData.release());
          }
          return;
      }
commit b62a30a9eba04254a5de3dd178c0959acbe59488
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue May 24 19:29:10 2011 +0200

    Version 3.4.0.2, tag libreoffice-3.4.0.2 (3.4.0-rc2)
commit 1719ef22ba03f94213b5077f95dc9707c1d03966
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri May 20 06:11:07 2011 +0200

    update sheet local db data when sheets are inserted/deleted
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>
    Signed-off-by: Noel Power <noel.power at novell.com>
    Signed-off-by: Katarina Machalkova <kmachalkova at suse.cz>

diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index 551ecbf..2927aa0 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -1402,7 +1402,12 @@ void ScTable::UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY )
 
 void ScTable::UpdateInsertTab(SCTAB nTable)
 {
-    if (nTab >= nTable) nTab++;
+    if (nTab >= nTable)
+    {
+        nTab++;
+        if (pDBDataNoName)
+            pDBDataNoName->UpdateMoveTab(nTab - 1 ,nTab);
+    }
     for (SCCOL i=0; i <= MAXCOL; i++) aCol[i].UpdateInsertTab(nTable);
 
     if (IsStreamValid())
@@ -1411,7 +1416,12 @@ void ScTable::UpdateInsertTab(SCTAB nTable)
 
 void ScTable::UpdateDeleteTab( SCTAB nTable, sal_Bool bIsMove, ScTable* pRefUndo )
 {
-    if (nTab > nTable) nTab--;
+    if (nTab > nTable)
+    {
+        nTab--;
+        if (pDBDataNoName)
+            pDBDataNoName->UpdateMoveTab(nTab + 1,nTab);
+    }
 
     SCCOL i;
     if (pRefUndo)
commit 2e0512f545a9ef641e61c5caa02d8ab402f83104
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri May 20 05:42:28 2011 +0200

    fix for fdo#37323: Correct autofilter import from ODS.
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>
    Signed-off-by: Petr Mladek <pmladek at suse.cz>
    Signed-off-by: Michael Meeks <michael.meeks at novell.com>

diff --git a/sc/source/filter/xml/xmldrani.cxx b/sc/source/filter/xml/xmldrani.cxx
index 7e91218..d0fb4aa 100644
--- a/sc/source/filter/xml/xmldrani.cxx
+++ b/sc/source/filter/xml/xmldrani.cxx
@@ -466,21 +466,17 @@ void ScXMLDatabaseRangeContext::EndElement()
 
         if (pData.get())
         {
-            // Infer sheet index from the name.
-            OUString aStrNum = sDatabaseRangeName.copy(aName.getLength());
-            SCTAB nTab = static_cast<SCTAB>(aStrNum.toInt32());
-
+            ScRange aRange;
+            pData->GetArea(aRange);
             if (pData->HasAutoFilter())
             {
                 // Set autofilter flags so that the buttons get displayed.
-                ScRange aRange;
-                pData->GetArea(aRange);
                 pDoc->ApplyFlagsTab(
                     aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aStart.Row(),
                     aRange.aStart.Tab(), SC_MF_AUTO);
             }
 
-            pDoc->SetAnonymousDBData(nTab, pData.release());
+            pDoc->SetAnonymousDBData(aRange.aStart.Tab(), pData.release());
         }
         return;
     }
@@ -499,9 +495,10 @@ void ScXMLDatabaseRangeContext::EndElement()
                 pDoc->ApplyFlagsTab(
                     aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aStart.Row(),
                     aRange.aStart.Tab(), SC_MF_AUTO);
+                pDoc->SetAnonymousDBData(aRange.aStart.Tab(), pData.release());
             }
-
-            pDoc->GetDBCollection()->insertAnonRange(pData.release());
+            else
+                pDoc->GetDBCollection()->insertAnonRange(pData.release());
         }
         return;
     }
commit 7629e5c2a85cdb801245b3ff3126bad913dfba80
Author: Andras Timar <atimar at suse.com>
Date:   Fri May 20 22:21:40 2011 +0200

    fdo#37418, fix a layout problem in Export text (CSV) dialog
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>

diff --git a/sc/source/ui/dbgui/imoptdlg.src b/sc/source/ui/dbgui/imoptdlg.src
index 8f68395..f095705 100644
--- a/sc/source/ui/dbgui/imoptdlg.src
+++ b/sc/source/ui/dbgui/imoptdlg.src
@@ -111,7 +111,7 @@ ModalDialog RID_SCDLG_IMPORTOPT
     CheckBox CB_QUOTEALL
     {
         HelpID = "sc:CheckBox:RID_SCDLG_IMPORTOPT:CB_QUOTEALL";
-        Pos = MAP_APPFONT( 20, 64 );
+        Pos = MAP_APPFONT( 12, 79 );
         Size = MAP_APPFONT( 164, 10 );
         Hide = TRUE;
         Text [ en-US ] = "~Quote all text cells";
commit 4d0c14adb9ab54fa295923fb9dd0c925f78e2726
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sun May 22 23:35:50 2011 +0200

    fix for fdo#37429 crash when copy/paste table from writer to calc
    
    Signed-off-by: Luboš Luňák <l.lunak at suse.cz>

diff --git a/sc/source/filter/rtf/rtfparse.cxx b/sc/source/filter/rtf/rtfparse.cxx
index 44d0498..1243138 100644
--- a/sc/source/filter/rtf/rtfparse.cxx
+++ b/sc/source/filter/rtf/rtfparse.cxx
@@ -299,7 +299,7 @@ void ScRTFParser::ProcToken( ImportInfo* pInfo )
     {
         case RTF_TROWD:			// denotes table row defauls, before RTF_CELLX
         {
-            if ( (pD = &(pDefaultList->back())) != 0 )
+            if ( !pDefaultList->empty() && (pD = &(pDefaultList->back())) != 0 )
                 nLastWidth = pD->nTwips;
             nColCnt = 0;
             pDefaultList->clear();
commit 18c542fd7c0feec8f2ff1d4757dcf9bde4eaf3c8
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Tue May 17 23:17:10 2011 -0430

    Fix index out of bounds in ScTableConditionalFormat.
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>
    Signed-off-by: Michael Meeks <michael.meeks at novell.com>
    Signed-off-by: Petr Mladek <pmladek at suse.cz>

diff --git a/sc/source/ui/unoobj/fmtuno.cxx b/sc/source/ui/unoobj/fmtuno.cxx
index e88369e..5c37c53 100644
--- a/sc/source/ui/unoobj/fmtuno.cxx
+++ b/sc/source/ui/unoobj/fmtuno.cxx
@@ -286,7 +286,7 @@ void ScTableConditionalFormat::AddEntry_Impl(const ScCondFormatEntryItem& aEntry
 
 ScTableConditionalEntry* ScTableConditionalFormat::GetObjectByIndex_Impl(sal_uInt16 nIndex) const
 {
-    return aEntries[nIndex];
+    return nIndex < aEntries.size() ? aEntries[nIndex] : NULL;
 }
 
 void SAL_CALL ScTableConditionalFormat::addNew(
commit 6529fa0a498cdc189054f3f7bcd319c1e40d1f06
Author: Regina Henschel <rb.henschel at t-online.de>
Date:   Thu May 19 15:55:13 2011 -0400

    fdo#37326: Sign number must be either 1 or -1, never 0.
    
    This fixes incorrect result with LINEST cell function.
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>

diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index bc1348c..7f005e2 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -1978,14 +1978,10 @@ double lcl_TGetColumnSumProduct(ScMatrixRef pMatA, SCSIZE nRa,
     return fResult;
 }
 
+// no mathematical signum, but used to switch between adding and subtracting
 double lcl_GetSign(double fValue)
 {
-    if (fValue < 0.0)
-        return -1.0;
-    else if (fValue > 0.0)
-        return 1.0;
-    else
-        return 0.0;
+    return (fValue >= 0.0 ? 1.0 : -1.0 );
 }
 
 /* Calculates a QR decomposition with Householder reflection.
commit 5adfac6a26bc0a423c6c6b74b3f88f44f15246a6
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date:   Thu May 19 16:21:52 2011 +0200

    Fix for fdo#37322 (binary import crash)
    
    Avoid retrieving defined name items on positions >= maNameList.size()
    (boost::ptr_vector doesn't like it)
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>
    Signed-off-by: Michael Meeks <michael.meeks at novell.com>
    Signed-off-by: Noel Power <noel.power at novell.com>

diff --git a/sc/source/filter/excel/xiname.cxx b/sc/source/filter/excel/xiname.cxx
index 15bf618..90be4dc 100644
--- a/sc/source/filter/excel/xiname.cxx
+++ b/sc/source/filter/excel/xiname.cxx
@@ -271,7 +271,7 @@ const XclImpName* XclImpNameManager::FindName( const String& rXclName, SCTAB nSc
 const XclImpName* XclImpNameManager::GetName( sal_uInt16 nXclNameIdx ) const
 {
     DBG_ASSERT( nXclNameIdx > 0, "XclImpNameManager::GetName - index must be >0" );
-    return &(maNameList.at( nXclNameIdx - 1 ));
+    return ( nXclNameIdx >= maNameList.size() ) ? NULL : &(maNameList.at( nXclNameIdx - 1 ));
 }
 
 // ============================================================================
commit 42394f0e0efe63833252fe473b8e507c5295452d
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue May 17 20:49:44 2011 +0200

    Branch libreoffice-3-4-0
    
    This is 'libreoffice-3-4-0' - the stable branch for the 3.4.0 release.
    Only very safe changes, reviewed by three people are allowed.
    
    If you want to commit more complicated fix for the next 3.4.x release,
    please use the 'libreoffice-3-4' branch.
    
    If you want to build something cool, unstable, and risky, use master.
commit d89de4bff6a216059aa1c7d04c47d221e13dd7e0
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue May 17 19:55:29 2011 +0200

    Version 3.4.0.1, tag libreoffice-3.4.0.1 (3.4.0-rc1)
commit d8787c0212b6abde83e8ee4557e492172e20ae74
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Fri May 13 08:35:27 2011 +0300

    Properly initialize and copy fVal
    
    This fixes the empty value check during unit test for the debug build
    on (32-bit) Windows.
    
    Signed-off-by: Tor Lillqvist <tlillqvist at novell.com>

diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
index 1568f2a..bf69522 100644
--- a/sc/inc/scmatrix.hxx
+++ b/sc/inc/scmatrix.hxx
@@ -67,19 +67,13 @@ struct ScMatrixValue
     /// Only valid if ScMatrix methods indicate that this is a boolean
     bool GetBoolean() const         { return fVal != 0.0; }
 
-    ScMatrixValue() : pS(NULL), nType(SC_MATVAL_EMPTY) {}
+    ScMatrixValue() : fVal(0.0), nType(SC_MATVAL_EMPTY) {}
 
-    ScMatrixValue(const ScMatrixValue& r) : nType(r.nType)
+    ScMatrixValue(const ScMatrixValue& r) : fVal(r.fVal), nType(r.nType)
     {
-        switch (nType)
-        {
-            case SC_MATVAL_VALUE:
-            case SC_MATVAL_BOOLEAN:
-                fVal = r.fVal;
-            break;
-            default:
-                pS = r.pS;
-        }
+        if (nType == SC_MATVAL_STRING)
+            // This is probably not necessary but just in case...
+            pS = r.pS;
     }
 
     bool operator== (const ScMatrixValue& r) const
@@ -110,15 +104,12 @@ struct ScMatrixValue
     ScMatrixValue& operator= (const ScMatrixValue& r)
     {
         nType = r.nType;
-        switch (nType)
-        {
-            case SC_MATVAL_VALUE:
-            case SC_MATVAL_BOOLEAN:
-                fVal = r.fVal;
-            break;
-            default:
-                pS = r.pS;
-        }
+        fVal = r.fVal;
+
+        if (nType == SC_MATVAL_STRING)
+            // This is probably not necessary but just in case...
+            pS = r.pS;
+
         return *this;
     }
 };
commit 12e9a40eeb216915f06d296af92d838f4230d827
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue May 10 20:01:37 2011 +0200

    Version 3.3.99.5, tag libreoffice-3.3.99.5 (3.4.0-beta5)
commit ffc3775a22a742ca5e78427056ad51b999928467
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Mon May 9 22:54:59 2011 -0400

    fdo#36933: Fixed array comparison with external references.

diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
index ce59c16..7caee75 100644
--- a/sc/source/core/inc/interpre.hxx
+++ b/sc/source/core/inc/interpre.hxx
@@ -316,6 +316,7 @@ void PopExternalSingleRef(ScExternalRefCache::TokenRef& rToken, ScExternalRefCac
 void PopExternalDoubleRef(sal_uInt16& rFileId, String& rTabName, ScComplexRefData& rRef);
 void PopExternalDoubleRef(ScExternalRefCache::TokenArrayRef& rArray);
 void PopExternalDoubleRef(ScMatrixRef& rMat);
+void GetExternalDoubleRef(sal_uInt16 nFileId, const String& rTabName, const ScComplexRefData& aData, ScExternalRefCache::TokenArrayRef& rArray);
 sal_Bool PopDoubleRefOrSingleRef( ScAddress& rAdr );
 void PopDoubleRefPushMatrix();
 // If MatrixFormula: convert formula::svDoubleRef to svMatrix, create JumpMatrix.
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 8beb6f1..1999bff 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -810,6 +810,38 @@ double ScInterpreter::Compare()
                 }
             }
             break;
+            case svExternalSingleRef:
+            {
+                ScMatrixRef pMat = GetMatrix();
+                if (!pMat)
+                {
+                    SetError( errIllegalParameter);
+                    break;
+                }
+
+                SCSIZE nC, nR;
+                pMat->GetDimensions(nC, nR);
+                if (!nC || !nR)
+                {
+                    SetError( errIllegalParameter);
+                    break;
+                }
+                if (pMat->IsEmpty(0, 0))
+                    aComp.bEmpty[i] = true;
+                else if (pMat->IsString(0, 0))
+                {
+                    *aComp.pVal[i] = pMat->GetString(0, 0);
+                    aComp.bVal[i] = false;
+                }
+                else
+                {
+                    aComp.nVal[i] = pMat->GetDouble(0, 0);
+                    aComp.bVal[i] = true;
+                }
+            }
+            break;
+            case svExternalDoubleRef:
+                // TODO: Find out how to handle this...
             default:
                 SetError( errIllegalParameter);
             break;
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 551a1c2..bfe5b6b 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -1519,6 +1519,28 @@ void ScInterpreter::PopExternalDoubleRef(ScExternalRefCache::TokenArrayRef& rArr
     if (nGlobalError)
         return;
 
+    GetExternalDoubleRef(nFileId, aTabName, aData, rArray);
+    if (nGlobalError)
+        return;
+}
+
+void ScInterpreter::PopExternalDoubleRef(ScMatrixRef& rMat)
+{
+    ScExternalRefCache::TokenArrayRef pArray;
+    PopExternalDoubleRef(pArray);
+    if (nGlobalError)
+        return;
+
+    // For now, we only support single range data for external
+    // references, which means the array should only contain a
+    // single matrix token.
+    ScToken* p = static_cast<ScToken*>(pArray->First());
+    rMat = p->GetMatrix();
+}
+
+void ScInterpreter::GetExternalDoubleRef(
+    sal_uInt16 nFileId, const String& rTabName, const ScComplexRefData& rData, ScExternalRefCache::TokenArrayRef& rArray)
+{
     ScExternalRefManager* pRefMgr = pDok->GetExternalRefManager();
     const String* pFile = pRefMgr->getExternalFileName(nFileId);
     if (!pFile)
@@ -1526,18 +1548,19 @@ void ScInterpreter::PopExternalDoubleRef(ScExternalRefCache::TokenArrayRef& rArr
         SetError(errNoName);
         return;
     }
-    if (aData.Ref1.IsTabRel() || aData.Ref2.IsTabRel())
+    if (rData.Ref1.IsTabRel() || rData.Ref2.IsTabRel())
     {
         OSL_FAIL("ScCompiler::GetToken: external double reference must have an absolute table reference!");
         SetError(errNoRef);
         return;
     }
 
+    ScComplexRefData aData(rData);
     aData.CalcAbsIfRel(aPos);
     ScRange aRange(aData.Ref1.nCol, aData.Ref1.nRow, aData.Ref1.nTab,
                    aData.Ref2.nCol, aData.Ref2.nRow, aData.Ref2.nTab);
     ScExternalRefCache::TokenArrayRef pArray = pRefMgr->getDoubleRefTokens(
-        nFileId, aTabName, aRange, &aPos);
+        nFileId, rTabName, aRange, &aPos);
 
     if (!pArray)
     {
@@ -1562,20 +1585,6 @@ void ScInterpreter::PopExternalDoubleRef(ScExternalRefCache::TokenArrayRef& rArr
     rArray = pArray;
 }
 
-void ScInterpreter::PopExternalDoubleRef(ScMatrixRef& rMat)
-{
-    ScExternalRefCache::TokenArrayRef pArray;
-    PopExternalDoubleRef(pArray);
-    if (nGlobalError)
-        return;
-
-    // For now, we only support single range data for external
-    // references, which means the array should only contain a
-    // single matrix token.
-    ScToken* p = static_cast<ScToken*>(pArray->First());
-    rMat = p->GetMatrix();
-}
-
 sal_Bool ScInterpreter::PopDoubleRefOrSingleRef( ScAddress& rAdr )
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::PopDoubleRefOrSingleRef" );
@@ -1643,6 +1652,7 @@ bool ScInterpreter::ConvertMatrixParameters()
                 case svDouble:
                 case svString:
                 case svSingleRef:
+                case svExternalSingleRef:
                 case svMissing:
                 case svError:
                 case svEmptyCell:
@@ -1700,6 +1710,35 @@ bool ScInterpreter::ConvertMatrixParameters()
                     }
                 }
                 break;
+                case svExternalDoubleRef:
+                {
+                    ScParameterClassification::Type eType =
+                        ScParameterClassification::GetParameterType( pCur, nParams - i);
+                    if (eType == ScParameterClassification::Array)
+                    {
+                        sal_uInt16 nFileId = p->GetIndex();
+                        const String& rTabName = p->GetString();
+                        const ScComplexRefData& rRef = static_cast<ScToken*>(p)->GetDoubleRef();
+                        ScExternalRefCache::TokenArrayRef pArray;
+                        GetExternalDoubleRef(nFileId, rTabName, rRef, pArray);
+                        if (nGlobalError)
+                            break;
+
+                        ScToken* pTemp = static_cast<ScToken*>(pArray->First());
+                        if (!pTemp)
+                            break;
+
+                        ScMatrixRef pMat = pTemp->GetMatrix();
+                        if (pMat)
+                        {
+                            ScToken* pNew = new ScMatrixToken( pMat);
+                            pNew->IncRef();
+                            pStack[ sp - i ] = pNew;
+                            p->DecRef();    // p may be dead now!
+                        }
+                    }
+                }
+                break;
                 case svRefList:
                 {
                     ScParameterClassification::Type eType =


More information about the Libreoffice-commits mailing list