[Libreoffice-commits] .: Branch 'feature/gnumake4' - 6 commits - sc/Library_scui.mk sc/Library_vbaobj.mk sc/qa sc/source

Bjoern Michaelsen bmichaelsen at kemper.freedesktop.org
Sun Jul 24 11:39:13 PDT 2011


 sc/Library_scui.mk                          |    2 
 sc/Library_vbaobj.mk                        |    2 
 sc/qa/unit/data/ods/named-ranges-global.ods |binary
 sc/qa/unit/filters-test.cxx                 |   26 ++++-
 sc/source/core/tool/interpr3.cxx            |    2 
 sc/source/filter/html/htmlpars.cxx          |  131 +++++++++++++---------------
 sc/source/filter/inc/htmlpars.hxx           |    2 
 sc/source/ui/src/popup.src                  |    1 
 8 files changed, 88 insertions(+), 78 deletions(-)

New commits:
commit 478c04b447a51563b60478518c55e829379328c9
Merge: 437225b... 8dca87b...
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date:   Sun Jul 24 19:22:58 2011 +0200

    Merge branch 'master' into feature/gnumake4

commit 8dca87b15321b7081031730475b9577fc8f8e25c
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Mon Jul 18 17:20:50 2011 -0400

    Initial cut on testing ods document loading.
    
    The loading still fails in SfxObjectShell::DoLoad().  I need to look
    into it.

diff --git a/sc/qa/unit/data/ods/named-ranges-global.ods b/sc/qa/unit/data/ods/named-ranges-global.ods
new file mode 100644
index 0000000..9d23d32
Binary files /dev/null and b/sc/qa/unit/data/ods/named-ranges-global.ods differ
diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx
index 58189b0..2753999 100644
--- a/sc/qa/unit/filters-test.cxx
+++ b/sc/qa/unit/filters-test.cxx
@@ -73,17 +73,20 @@ public:
     virtual void tearDown();
 
     void recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData, int nExpected);
-    bool load(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData);
+    ScDocShellRef load(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData);
 
     /**
      * Ensure CVEs remain unbroken
      */
     void testCVEs();
 
+    void testODSs();
+
     CPPUNIT_TEST_SUITE(FiltersTest);
 #if !defined(__OpenBSD__)
     CPPUNIT_TEST(testCVEs);
 #endif
+    CPPUNIT_TEST(testODSs);
     CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -93,7 +96,7 @@ private:
     ::rtl::OUString m_aSrcRoot;
 };
 
-bool FiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
+ScDocShellRef FiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
     const rtl::OUString &rUserData)
 {
     SfxFilter aFilter(
@@ -104,7 +107,11 @@ bool FiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
     ScDocShellRef xDocShRef = new ScDocShell;
     SfxMedium aSrcMed(rURL, STREAM_STD_READ, true);
     aSrcMed.SetFilter(&aFilter);
-    return xDocShRef->DoLoad(&aSrcMed);
+    if (!xDocShRef->DoLoad(&aSrcMed))
+        // load failed.
+        xDocShRef.Clear();
+
+    return xDocShRef;
 }
 
 void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData, int nExpected)
@@ -140,7 +147,7 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
                 fprintf(stderr, "loading %s\n", aRes.getStr());
             }
             sal_uInt32 nStartTime = osl_getGlobalTimer();
-            bool bRes = load(rFilter, sURL, rUserData);
+            bool bRes = load(rFilter, sURL, rUserData).Is();
             sal_uInt32 nEndTime = osl_getGlobalTimer();
             if (nExpected == indeterminate)
             {
@@ -179,6 +186,17 @@ void FiltersTest::testCVEs()
 
 }
 
+void FiltersTest::testODSs()
+{
+#if 0
+// TODO: loading of ods still fails.  I need to look into this.
+    ScDocShellRef xDocSh = load(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("calc8")),
+        m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/clone/calc/sc/qa/unit/data/ods/named-ranges-global.ods")), rtl::OUString());
+
+    CPPUNIT_ASSERT_MESSAGE("Failed to load named-ranges-global.ods.", xDocSh.Is());
+#endif
+}
+
 FiltersTest::FiltersTest()
     : m_aSrcRoot(RTL_CONSTASCII_USTRINGPARAM("file://"))
 {
commit 0aeb96e1ed1ab40b5a8b9c5465e2121e428880ac
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Sat Jul 23 10:15:30 2011 +0300

    Use gb_Library_win32_OLDNAMES

diff --git a/sc/Library_scui.mk b/sc/Library_scui.mk
index ce806b4..900061f 100644
--- a/sc/Library_scui.mk
+++ b/sc/Library_scui.mk
@@ -123,7 +123,7 @@ $(eval $(call gb_Library_add_linked_libs,scui,\
 	advapi32 \
 	kernel32 \
 	msvcrt \
-	oldnames \
+	$(gb_Library_win32_OLDNAMES) \
 	user32 \
 	uwinapi \
 ))
diff --git a/sc/Library_vbaobj.mk b/sc/Library_vbaobj.mk
index 58dc936..e48eadf 100644
--- a/sc/Library_vbaobj.mk
+++ b/sc/Library_vbaobj.mk
@@ -156,7 +156,7 @@ $(eval $(call gb_Library_add_linked_libs,vbaobj,\
 	advapi32 \
 	kernel32 \
 	msvcrt \
-	oldnames \
+	$(gb_Library_win32_OLDNAMES) \
 	user32 \
 	uwinapi \
 ))
commit 3b19fdff84ada0c5e4ec01f8f3688a7c09ef27dd
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Fri Jul 22 22:02:01 2011 -0400

    Adjusted for HTMLParser::GetOptions() return type change.

diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index f91dc75..4105782 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -850,28 +850,27 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo )
     }
     bInCell = sal_True;
     sal_Bool bHorJustifyCenterTH = (pInfo->nToken == HTML_TABLEHEADER_ON);
-    const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-    sal_uInt16 nArrLen = pOptions->Count();
-    for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+    const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+    for (size_t i = 0, n = rOptions.size(); i < n; ++i)
     {
-        const HTMLOption* pOption = (*pOptions)[i];
-        switch( pOption->GetToken() )
+        const HTMLOption& rOption = rOptions[i];
+        switch( rOption.GetToken() )
         {
             case HTML_O_COLSPAN:
             {
-                pActEntry->nColOverlap = ( SCCOL ) pOption->GetString().ToInt32();
+                pActEntry->nColOverlap = ( SCCOL ) rOption.GetString().ToInt32();
             }
             break;
             case HTML_O_ROWSPAN:
             {
-                pActEntry->nRowOverlap = ( SCROW ) pOption->GetString().ToInt32();
+                pActEntry->nRowOverlap = ( SCROW ) rOption.GetString().ToInt32();
             }
             break;
             case HTML_O_ALIGN:
             {
                 bHorJustifyCenterTH = false;
                 SvxCellHorJustify eVal;
-                const String& rOptVal = pOption->GetString();
+                const String& rOptVal = rOption.GetString();
                 if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_AL_right ) == COMPARE_EQUAL )
                     eVal = SVX_HOR_JUSTIFY_RIGHT;
                 else if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_AL_center ) == COMPARE_EQUAL )
@@ -887,7 +886,7 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo )
             case HTML_O_VALIGN:
             {
                 SvxCellVerJustify eVal;
-                const String& rOptVal = pOption->GetString();
+                const String& rOptVal = rOption.GetString();
                 if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_VA_top ) == COMPARE_EQUAL )
                     eVal = SVX_VER_JUSTIFY_TOP;
                 else if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_VA_middle ) == COMPARE_EQUAL )
@@ -901,25 +900,25 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo )
             break;
             case HTML_O_WIDTH:
             {
-                pActEntry->nWidth = GetWidthPixel( pOption );
+                pActEntry->nWidth = GetWidthPixel( rOption );
             }
             break;
             case HTML_O_BGCOLOR:
             {
                 Color aColor;
-                pOption->GetColor( aColor );
+                rOption.GetColor( aColor );
                 pActEntry->aItemSet.Put(
                     SvxBrushItem( aColor, ATTR_BACKGROUND ) );
             }
             break;
             case HTML_O_SDVAL:
             {
-                pActEntry->pValStr = new String( pOption->GetString() );
+                pActEntry->pValStr = new String( rOption.GetString() );
             }
             break;
             case HTML_O_SDNUM:
             {
-                pActEntry->pNumStr = new String( pOption->GetString() );
+                pActEntry->pNumStr = new String( rOption.GetString() );
             }
             break;
         }
@@ -977,23 +976,22 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
         nLastWidth = nTableWidth;
         if ( pInfo->nToken == HTML_TABLE_ON )
         {   // es kann auch TD oder TH sein, wenn es vorher kein TABLE gab
-            const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-            sal_uInt16 nArrLen = pOptions->Count();
-            for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+            const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+            for (size_t i = 0, n = rOptions.size(); i < n; ++i)
             {
-                const HTMLOption* pOption = (*pOptions)[i];
-                switch( pOption->GetToken() )
+                const HTMLOption& rOption = rOptions[i];
+                switch( rOption.GetToken() )
                 {
                     case HTML_O_WIDTH:
                     {   // Prozent: von Dokumentbreite bzw. aeusserer Zelle
-                        nTableWidth = GetWidthPixel( pOption );
+                        nTableWidth = GetWidthPixel( rOption );
                     }
                     break;
                     case HTML_O_BORDER:
                         // Border is: ((pOption->GetString().Len() == 0) || (pOption->GetNumber() != 0));
                     break;
                     case HTML_O_ID:
-                        aTabName.Assign( pOption->GetString() );
+                        aTabName.Assign( rOption.GetString() );
                     break;
                 }
             }
@@ -1037,23 +1035,22 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
         nTableWidth = 0;
         if ( pInfo->nToken == HTML_TABLE_ON )
         {   // es kann auch TD oder TH sein, wenn es vorher kein TABLE gab
-            const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-            sal_uInt16 nArrLen = pOptions->Count();
-            for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+            const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+            for (size_t i = 0, n = rOptions.size(); i < n; ++i)
             {
-                const HTMLOption* pOption = (*pOptions)[i];
-                switch( pOption->GetToken() )
+                const HTMLOption& rOption = rOptions[i];
+                switch( rOption.GetToken() )
                 {
                     case HTML_O_WIDTH:
                     {   // Prozent: von Dokumentbreite bzw. aeusserer Zelle
-                        nTableWidth = GetWidthPixel( pOption );
+                        nTableWidth = GetWidthPixel( rOption );
                     }
                     break;
                     case HTML_O_BORDER:
                         //BorderOn is: ((pOption->GetString().Len() == 0) || (pOption->GetNumber() != 0));
                     break;
                     case HTML_O_ID:
-                        aTabName.Assign( pOption->GetString() );
+                        aTabName.Assign( rOption.GetString() );
                     break;
                 }
             }
@@ -1235,16 +1232,15 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
 {
     ScHTMLImage* pImage = new ScHTMLImage;
     pActEntry->maImageList.push_back( pImage );
-    const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-    sal_uInt16 nArrLen = pOptions->Count();
-    for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+    const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+    for (size_t i = 0, n = rOptions.size(); i < n; ++i)
     {
-        const HTMLOption* pOption = (*pOptions)[i];
-        switch( pOption->GetToken() )
+        const HTMLOption& rOption = rOptions[i];
+        switch( rOption.GetToken() )
         {
             case HTML_O_SRC:
             {
-                pImage->aURL = INetURLObject::GetAbsURL( aBaseURL, pOption->GetString() );
+                pImage->aURL = INetURLObject::GetAbsURL( aBaseURL, rOption.GetString() );
             }
             break;
             case HTML_O_ALT:
@@ -1253,28 +1249,28 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
                 {   // ALT text only if not any image loaded
                     if ( pActEntry->aAltText.Len() )
                         pActEntry->aAltText.AppendAscii( "; " );
-                    pActEntry->aAltText += pOption->GetString();
+                    pActEntry->aAltText += rOption.GetString();
                 }
             }
             break;
             case HTML_O_WIDTH:
             {
-                pImage->aSize.Width() = (long)pOption->GetNumber();
+                pImage->aSize.Width() = (long)rOption.GetNumber();
             }
             break;
             case HTML_O_HEIGHT:
             {
-                pImage->aSize.Height() = (long)pOption->GetNumber();
+                pImage->aSize.Height() = (long)rOption.GetNumber();
             }
             break;
             case HTML_O_HSPACE:
             {
-                pImage->aSpace.X() = (long)pOption->GetNumber();
+                pImage->aSpace.X() = (long)rOption.GetNumber();
             }
             break;
             case HTML_O_VSPACE:
             {
-                pImage->aSpace.Y() = (long)pOption->GetNumber();
+                pImage->aSpace.Y() = (long)rOption.GetNumber();
             }
             break;
         }
@@ -1328,16 +1324,15 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
 
 void ScHTMLLayoutParser::ColOn( ImportInfo* pInfo )
 {
-    const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-    sal_uInt16 nArrLen = pOptions->Count();
-    for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+    const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+    for (size_t i = 0, n = rOptions.size(); i < n; ++i)
     {
-        const HTMLOption* pOption = (*pOptions)[i];
-        switch( pOption->GetToken() )
+        const HTMLOption& rOption = rOptions[i];
+        switch( rOption.GetToken() )
         {
             case HTML_O_WIDTH:
             {
-                sal_uInt16 nVal = GetWidthPixel( pOption );
+                sal_uInt16 nVal = GetWidthPixel( rOption );
                 MakeCol( pLocalColOffset, nColOffset, nVal, 0, 0 );
                 nColOffset = nColOffset + nVal;
             }
@@ -1347,13 +1342,13 @@ void ScHTMLLayoutParser::ColOn( ImportInfo* pInfo )
 }
 
 
-sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption* pOption )
+sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption& rOption )
 {
-    const String& rOptVal = pOption->GetString();
+    const String& rOptVal = rOption.GetString();
     if ( rOptVal.Search('%') != STRING_NOTFOUND )
     {   // Prozent
         sal_uInt16 nW = (nTableWidth ? nTableWidth : (sal_uInt16) aPageSize.Width());
-        return (sal_uInt16)((pOption->GetNumber() * nW) / 100);
+        return (sal_uInt16)((rOption.GetNumber() * nW) / 100);
     }
     else
     {
@@ -1363,23 +1358,22 @@ sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption* pOption )
             return 0;
         }
         else
-            return (sal_uInt16)pOption->GetNumber();    // Pixel
+            return (sal_uInt16)rOption.GetNumber();    // Pixel
     }
 }
 
 
 void ScHTMLLayoutParser::AnchorOn( ImportInfo* pInfo )
 {
-    const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-    sal_uInt16 nArrLen = pOptions->Count();
-    for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+    const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+    for (size_t i = 0, n = rOptions.size(); i < n; ++i)
     {
-        const HTMLOption* pOption = (*pOptions)[i];
-        switch( pOption->GetToken() )
+        const HTMLOption& rOption = rOptions[i];
+        switch( rOption.GetToken() )
         {
             case HTML_O_NAME:
             {
-                pActEntry->pName = new String( pOption->GetString() );
+                pActEntry->pName = new String( rOption.GetString() );
             }
             break;
         }
@@ -1400,16 +1394,15 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo )
 {
     if ( IsAtBeginningOfText( pInfo ) )
     {   // nur am Anfang des Textes, gilt dann fuer gesamte Zelle
-        const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
-        sal_uInt16 nArrLen = pOptions->Count();
-        for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+        const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+        for (size_t i = 0, n = rOptions.size(); i < n; ++i)
         {
-            const HTMLOption* pOption = (*pOptions)[i];
-            switch( pOption->GetToken() )
+            const HTMLOption& rOption = rOptions[i];
+            switch( rOption.GetToken() )
             {
                 case HTML_O_FACE :
                 {
-                    const String& rFace = pOption->GetString();
+                    const String& rFace = rOption.GetString();
                     String aFontName;
                     xub_StrLen nPos = 0;
                     while( nPos != STRING_NOTFOUND )
@@ -1428,7 +1421,7 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo )
                 break;
                 case HTML_O_SIZE :
                 {
-                    sal_uInt16 nSize = (sal_uInt16) pOption->GetNumber();
+                    sal_uInt16 nSize = (sal_uInt16) rOption.GetNumber();
                     if ( nSize == 0 )
                         nSize = 1;
                     else if ( nSize > SC_HTML_FONTSIZES )
@@ -1440,7 +1433,7 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo )
                 case HTML_O_COLOR :
                 {
                     Color aColor;
-                    pOption->GetColor( aColor );
+                    rOption.GetColor( aColor );
                     pActEntry->aItemSet.Put( SvxColorItem( aColor, ATTR_FONT_COLOR ) );
                 }
                 break;
@@ -1457,7 +1450,7 @@ void ScHTMLLayoutParser::ProcToken( ImportInfo* pInfo )
     {
         case HTML_META:
         {
-            HTMLParser* pParser = (HTMLParser*) pInfo->pParser;
+            HTMLParser* pParser = static_cast<HTMLParser*>(pInfo->pParser);
             uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
                 mpDoc->GetDocumentShell()->GetModel(), uno::UNO_QUERY_THROW);
             pParser->ParseMetaOptions(
@@ -1639,8 +1632,8 @@ class ScHTMLOptionIterator
 private:
     const HTMLOptions*  mpOptions;      /// The options array.
     const HTMLOption*   mpCurrOption;   /// Current option.
-    sal_uInt16          mnCount;        /// Size of the options array.
-    sal_uInt16          mnIndex;        /// Next option to return.
+    size_t              mnCount;        /// Size of the options array.
+    size_t              mnIndex;        /// Next option to return.
 
 public:
     explicit            ScHTMLOptionIterator( const ImportInfo& rInfo );
@@ -1661,17 +1654,17 @@ ScHTMLOptionIterator::ScHTMLOptionIterator( const ImportInfo& rInfo ) :
 {
     const HTMLParser* pParser = static_cast< const HTMLParser* >( rInfo.pParser );
     if( pParser )
-        mpOptions = pParser->GetOptions();
+        mpOptions = &pParser->GetOptions();
     if( mpOptions )
-        mnCount = mpOptions->Count();
+        mnCount = mpOptions->size();
     if( mnCount )
-        mpCurrOption = mpOptions->GetObject( 0 );
+        mpCurrOption = &mpOptions->front();
 }
 
 ScHTMLOptionIterator& ScHTMLOptionIterator::operator++()
 {
     if( mnIndex < mnCount ) ++mnIndex;
-    mpCurrOption = (mnIndex < mnCount) ? mpOptions->GetObject( mnIndex ) : 0;
+    mpCurrOption = (mnIndex < mnCount) ? &(*mpOptions)[mnIndex] : 0;
     return *this;
 }
 
diff --git a/sc/source/filter/inc/htmlpars.hxx b/sc/source/filter/inc/htmlpars.hxx
index 117f0e5..c1ab90e 100644
--- a/sc/source/filter/inc/htmlpars.hxx
+++ b/sc/source/filter/inc/htmlpars.hxx
@@ -179,7 +179,7 @@ private:
     void				SetWidths();
     void				Adjust();
 
-    sal_uInt16				GetWidthPixel( const HTMLOption* );
+    sal_uInt16				GetWidthPixel( const HTMLOption& );
     sal_Bool				IsAtBeginningOfText( ImportInfo* );
 
     void				TableOn( ImportInfo* );
commit 499dec4f41551aef24aef542783df5a8d4ff6d58
Author: Andras Timar <atimar at suse.com>
Date:   Fri Jul 22 21:37:35 2011 +0200

    remove duplicated en-US string definition

diff --git a/sc/source/ui/src/popup.src b/sc/source/ui/src/popup.src
index 3803889..b56a5fd 100644
--- a/sc/source/ui/src/popup.src
+++ b/sc/source/ui/src/popup.src
@@ -381,7 +381,6 @@ Menu RID_POPUP_EDIT
                     };
                 };
             };
-            Text [ en-US ] = "St~yle";
         };
          //------------------------------
         MenuItem { Separator = TRUE ; };
commit 514fa420a68076537adfc8d7344a20e8c0baa3f3
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Jul 22 18:05:21 2011 +0200

    fix for fdo#37128: set upper limit for second parameter of tinv to 1E10

diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
index c631b15..62d670d 100644
--- a/sc/source/core/tool/interpr3.cxx
+++ b/sc/source/core/tool/interpr3.cxx
@@ -2094,7 +2094,7 @@ void ScInterpreter::ScTInv()
         return;
     double fDF  = ::rtl::math::approxFloor(GetDouble());
     double fP = GetDouble();
-    if (fDF < 1.0 || fDF >= 1.0E5 || fP <= 0.0 || fP > 1.0 )
+    if (fDF < 1.0 || fDF > 1.0E10 || fP <= 0.0 || fP > 1.0 )
     {
         PushIllegalArgument();
         return;


More information about the Libreoffice-commits mailing list