sc/source/filter/inc/workbookhelper.hxx |    2 --
 sc/source/filter/oox/defnamesbuffer.cxx |    4 ++--
 sc/source/filter/oox/workbookhelper.cxx |   25 ++++++++++++-------------
 vcl/source/font/font.cxx                |    3 ++-
 vcl/unx/generic/gdi/cairotextrender.cxx |    6 ++++++
 5 files changed, 22 insertions(+), 18 deletions(-)

New commits:
commit eba5cfe961d3b6e429ee88d452001e689268f3ff
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sun Dec 11 20:45:48 2022 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Dec 11 23:11:08 2022 +0000

    ofz#54221 Out-of-memory
    
    Change-Id: I4b4da37dfa0a961f77bc3bccdf2d25321f7d2447
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143951
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx 
b/vcl/unx/generic/gdi/cairotextrender.cxx
index 7bd74f0a4830..878eb3e1ac99 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -266,6 +266,12 @@ void CairoTextRender::DrawTextLayout(const 
GenericSalLayout& rLayout, const SalG
         return;
     }
 
+    if (nWidth > 4024)
+    {
+        SAL_WARN("vcl", "rendering text would use > 2G Memory: " << nWidth);
+        return;
+    }
+
     if (__lsan_disable)
         __lsan_disable();
 #endif
commit c6fcdc2a4a354f284ddb5f000572e2146a706715
Author:     jsala <[email protected]>
AuthorDate: Fri Dec 9 19:44:30 2022 +0100
Commit:     Eike Rathke <[email protected]>
CommitDate: Sun Dec 11 23:11:02 2022 +0000

    tdf#91367 Remove ApiTokenSequence uses.
    
    Remove unneeded empty ApiTokenSequence parameters.
    They go throught some calls and then are converted to ScTokenArray.
    A call to ConvertToTokenArray can be removed.
    
    Change-Id: Ic22845e0e06e3af3a91dab966538e59c3e21d470
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143886
    Tested-by: Jenkins
    Reviewed-by: Eike Rathke <[email protected]>

diff --git a/sc/source/filter/inc/workbookhelper.hxx 
b/sc/source/filter/inc/workbookhelper.hxx
index 0234c50252ff..7aec3a68409c 100644
--- a/sc/source/filter/inc/workbookhelper.hxx
+++ b/sc/source/filter/inc/workbookhelper.hxx
@@ -168,7 +168,6 @@ public:
         @param orName  (in/out-parameter) Returns the resulting used name. */
     RangeDataRet createNamedRangeObject(
                             OUString& orName,
-                            const css::uno::Sequence< 
css::sheet::FormulaToken>& rTokens,
                             sal_Int32 nIndex,
                             sal_Int32 nNameFlags, bool bHidden ) const;
 
@@ -177,7 +176,6 @@ public:
         @param orName  (in/out-parameter) Returns the resulting used name. */
     RangeDataRet createLocalNamedRangeObject(
                             OUString& orName,
-                            const css::uno::Sequence< 
css::sheet::FormulaToken>& rTokens,
                             sal_Int32 nIndex,
                             sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden 
) const;
 
diff --git a/sc/source/filter/oox/defnamesbuffer.cxx 
b/sc/source/filter/oox/defnamesbuffer.cxx
index 8cae1fb737bd..4f8155cae40e 100644
--- a/sc/source/filter/oox/defnamesbuffer.cxx
+++ b/sc/source/filter/oox/defnamesbuffer.cxx
@@ -234,9 +234,9 @@ void DefinedName::createNameObject( sal_Int32 nIndex )
 
     // create the name and insert it into the document, maCalcName will be 
changed to the resulting name
     if (maModel.mnSheet >= 0)
-        maScRangeData = createLocalNamedRangeObject( maCalcName, 
ApiTokenSequence(), nIndex, nNameFlags, maModel.mnSheet, maModel.mbHidden );
+        maScRangeData = createLocalNamedRangeObject(maCalcName, nIndex, 
nNameFlags, maModel.mnSheet, maModel.mbHidden);
     else
-        maScRangeData = createNamedRangeObject( maCalcName, 
ApiTokenSequence(), nIndex, nNameFlags, maModel.mbHidden );
+        maScRangeData = createNamedRangeObject( maCalcName, nIndex, 
nNameFlags, maModel.mbHidden);
     mnTokenIndex = nIndex;
 }
 
diff --git a/sc/source/filter/oox/workbookhelper.cxx 
b/sc/source/filter/oox/workbookhelper.cxx
index 1f07567f1672..7d651b9764ab 100644
--- a/sc/source/filter/oox/workbookhelper.cxx
+++ b/sc/source/filter/oox/workbookhelper.cxx
@@ -150,9 +150,9 @@ public:
     /** Returns the specified cell or page style from the Calc document. */
     Reference< XStyle > getStyleObject( const OUString& rStyleName, bool 
bPageStyle ) const;
     /** Creates and returns a defined name on-the-fly in the Calc document. */
-    WorkbookHelper::RangeDataRet createNamedRangeObject( OUString& orName, 
const Sequence< FormulaToken>& rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags, 
bool bHidden );
+    WorkbookHelper::RangeDataRet createNamedRangeObject(OUString& orName, 
sal_Int32 nIndex, sal_Int32 nNameFlags, bool bHidden);
     /** Creates and returns a defined name on the-fly in the correct Calc 
sheet. */
-    WorkbookHelper::RangeDataRet createLocalNamedRangeObject( OUString& 
orName, const Sequence< FormulaToken>& rTokens, sal_Int32 nIndex, sal_Int32 
nNameFlags, sal_Int32 nTab, bool bHidden );
+    WorkbookHelper::RangeDataRet createLocalNamedRangeObject(OUString& orName, 
sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden);
     /** Creates and returns a database range on-the-fly in the Calc document. 
*/
     Reference< XDatabaseRange > createDatabaseRangeObject( OUString& orName, 
const ScRange& rRangeAddr );
     /** Creates and returns an unnamed database range on-the-fly in the Calc 
document. */
@@ -351,7 +351,7 @@ Reference< XStyle > WorkbookGlobals::getStyleObject( const 
OUString& rStyleName,
 
 namespace {
 
-WorkbookHelper::RangeDataRet lcl_addNewByNameAndTokens( ScDocument& rDoc, 
ScRangeName* pNames, const OUString& rName, const Sequence<FormulaToken>& 
rTokens, sal_Int16 nIndex, sal_Int32 nUnoType, bool bHidden )
+WorkbookHelper::RangeDataRet lcl_addNewByName(ScDocument& rDoc, ScRangeName* 
pNames, const OUString& rName, sal_Int16 nIndex, sal_Int32 nUnoType, bool 
bHidden)
 {
     bool bDone = false;
     ScRangeData::Type nNewType = ScRangeData::Type::Name;
@@ -360,8 +360,7 @@ WorkbookHelper::RangeDataRet lcl_addNewByNameAndTokens( 
ScDocument& rDoc, ScRang
     if ( nUnoType & NamedRangeFlag::COLUMN_HEADER )      nNewType |= 
ScRangeData::Type::ColHeader;
     if ( nUnoType & NamedRangeFlag::ROW_HEADER )         nNewType |= 
ScRangeData::Type::RowHeader;
     ScTokenArray aTokenArray(rDoc);
-    (void)ScTokenConversion::ConvertToTokenArray( rDoc, aTokenArray, rTokens );
-    ScRangeData* pNew = new ScRangeData( rDoc, rName, aTokenArray, 
ScAddress(), nNewType );
+    ScRangeData* pNew = new ScRangeData(rDoc, rName, aTokenArray, ScAddress(), 
nNewType);
     pNew->GuessPosition();
     if ( nIndex )
         pNew->SetIndex( nIndex );
@@ -393,7 +392,7 @@ OUString findUnusedName( const ScRangeName* pRangeName, 
const OUString& rSuggest
 }
 
 WorkbookHelper::RangeDataRet WorkbookGlobals::createNamedRangeObject(
-    OUString& orName, const Sequence< FormulaToken>& rTokens, sal_Int32 
nIndex, sal_Int32 nNameFlags, bool bHidden )
+    OUString& orName, sal_Int32 nIndex, sal_Int32 nNameFlags, bool bHidden)
 {
     // create the name and insert it into the Calc document
     WorkbookHelper::RangeDataRet aScRangeData(nullptr, false);
@@ -404,13 +403,13 @@ WorkbookHelper::RangeDataRet 
WorkbookGlobals::createNamedRangeObject(
         // find an unused name
         orName = findUnusedName( pNames, orName );
         // create the named range
-        aScRangeData = lcl_addNewByNameAndTokens( rDoc, pNames, orName, 
rTokens, nIndex, nNameFlags, bHidden );
+        aScRangeData = lcl_addNewByName(rDoc, pNames, orName, nIndex, 
nNameFlags, bHidden);
     }
     return aScRangeData;
 }
 
 WorkbookHelper::RangeDataRet WorkbookGlobals::createLocalNamedRangeObject(
-    OUString& orName, const Sequence< FormulaToken >&  rTokens, sal_Int32 
nIndex, sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden )
+    OUString& orName, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab, 
bool bHidden)
 {
     // create the name and insert it into the Calc document
     WorkbookHelper::RangeDataRet aScRangeData(nullptr, false);
@@ -423,7 +422,7 @@ WorkbookHelper::RangeDataRet 
WorkbookGlobals::createLocalNamedRangeObject(
         // find an unused name
         orName = findUnusedName( pNames, orName );
         // create the named range
-        aScRangeData = lcl_addNewByNameAndTokens( rDoc, pNames, orName, 
rTokens, nIndex, nNameFlags, bHidden );
+        aScRangeData = lcl_addNewByName(rDoc, pNames, orName, nIndex, 
nNameFlags, bHidden);
     }
     return aScRangeData;
 }
@@ -868,14 +867,14 @@ Reference< XStyle > WorkbookHelper::getStyleObject( const 
OUString& rStyleName,
     return mrBookGlob.getStyleObject( rStyleName, bPageStyle );
 }
 
-WorkbookHelper::RangeDataRet WorkbookHelper::createNamedRangeObject( OUString& 
orName, const Sequence< FormulaToken>& rTokens, sal_Int32 nIndex, sal_Int32 
nNameFlags, bool bHidden ) const
+WorkbookHelper::RangeDataRet WorkbookHelper::createNamedRangeObject(OUString& 
orName, sal_Int32 nIndex, sal_Int32 nNameFlags, bool bHidden) const
 {
-    return mrBookGlob.createNamedRangeObject( orName, rTokens, nIndex, 
nNameFlags, bHidden );
+    return mrBookGlob.createNamedRangeObject(orName, nIndex, nNameFlags, 
bHidden);
 }
 
-WorkbookHelper::RangeDataRet WorkbookHelper::createLocalNamedRangeObject( 
OUString& orName, const Sequence< FormulaToken>& rTokens, sal_Int32 nIndex, 
sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden ) const
+WorkbookHelper::RangeDataRet 
WorkbookHelper::createLocalNamedRangeObject(OUString& orName, sal_Int32 nIndex, 
sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden) const
 {
-    return mrBookGlob.createLocalNamedRangeObject( orName, rTokens, nIndex, 
nNameFlags, nTab, bHidden );
+    return mrBookGlob.createLocalNamedRangeObject(orName, nIndex, nNameFlags, 
nTab, bHidden);
 }
 
 Reference< XDatabaseRange > WorkbookHelper::createDatabaseRangeObject( 
OUString& orName, const ScRange& rRangeAddr ) const
commit 06089485040a13afc5945d31d59e0959e2412f27
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sun Dec 11 20:31:55 2022 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Dec 11 23:11:00 2022 +0000

    ofz#54221 drop unassigned bits
    
    Change-Id: I3e4303629aa5502dc35bf562b5f4e5aed183234a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143950
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/vcl/source/font/font.cxx b/vcl/source/font/font.cxx
index 46009ff47d04..5c2857770a73 100644
--- a/vcl/source/font/font.cxx
+++ b/vcl/source/font/font.cxx
@@ -514,7 +514,8 @@ SvStream& ReadImplFont( SvStream& rIStm, ImplFont& 
rImplFont, tools::Long& rnNor
         rIStm.ReadUChar( nTmp8 );     rImplFont.meRelief = 
static_cast<FontRelief>(nTmp8);
         rIStm.ReadUInt16( nTmp16 );   rImplFont.maCJKLanguageTag.reset( 
LanguageType(nTmp16) );
         rIStm.ReadCharAsBool( bTmp ); rImplFont.mbVertical = bTmp;
-        rIStm.ReadUInt16( nTmp16 );   rImplFont.meEmphasisMark = 
static_cast<FontEmphasisMark>(nTmp16);
+        rIStm.ReadUInt16( nTmp16 );
+        rImplFont.meEmphasisMark = static_cast<FontEmphasisMark>(nTmp16 & 
o3tl::typed_flags<FontEmphasisMark>::mask);
     }
 
     if( aCompat.GetVersion() >= 3 )

Reply via email to