chart2/uiconfig/ui/sidebargradients.ui |    4 +-
 include/svl/nfengine.hxx               |    1 
 include/svl/zformat.hxx                |   12 +++++--
 svl/source/numbers/zforlist.cxx        |    5 +++
 svl/source/numbers/zformat.cxx         |   50 +++++++++++++++++----------------
 5 files changed, 43 insertions(+), 29 deletions(-)

New commits:
commit 60442b24426a7480e3d3f3569feb523f1058bd42
Author:     Andras Timar <[email protected]>
AuthorDate: Mon Nov 10 20:06:42 2025 +0100
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sat Feb 28 17:22:15 2026 +0100

    fix msgcntx
    
    Change-Id: I9d259f19bad363c7f5d3ed8f96127aa3ccdc6f13
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193763
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Andras Timar <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200678
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/chart2/uiconfig/ui/sidebargradients.ui 
b/chart2/uiconfig/ui/sidebargradients.ui
index 54bfb975ed45..e93b1db90fb5 100644
--- a/chart2/uiconfig/ui/sidebargradients.ui
+++ b/chart2/uiconfig/ui/sidebargradients.ui
@@ -27,7 +27,7 @@
                             <object class="GtkMenuToolButton" 
id=".uno:ChartGradientPalette">
                                 <property name="visible">True</property>
                                 <property name="can-focus">False</property>
-                                <property name="tooltip-text" 
translatable="yes" 
context="sidebarcellappearance|bordertype|tooltip_text">Allow to select a 
gradient palette to apply to current chart data series.</property>
+                                <property name="tooltip-text" 
translatable="yes" context="sidebargradients|bordertype|tooltip_text">Allow to 
select a gradient palette to apply to current chart data series.</property>
                                 <property name="halign">start</property>
                                 <property name="valign">start</property>
                                 <property name="use-underline">True</property>
@@ -39,7 +39,7 @@
                         </child>
                         <child internal-child="accessible">
                             <object class="AtkObject" 
id="gradientpalettetype-atkobject">
-                                <property name="AtkObject::accessible-name" 
translatable="yes" 
context="sidebarcellappearance|cellbordertype-atkobject">Border Style</property>
+                                <property name="AtkObject::accessible-name" 
translatable="yes" context="sidebargradients|cellbordertype-atkobject">Border 
Style</property>
                             </object>
                         </child>
                     </object>
commit 0d718c7e89586c74937a2549e252bc52dd4df57d
Author:     Caolán McNamara <[email protected]>
AuthorDate: Mon Feb 16 21:36:22 2026 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sat Feb 28 17:22:09 2026 +0100

    tdf#167636 GetOutputString should be using the scanner from LanguageData
    
    and not the shared one, bubble that around more explicitly
    
    Change-Id: Iff6462dafd2baa75253ad9929f9cbf53a178e9b9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199690
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200677
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/include/svl/nfengine.hxx b/include/svl/nfengine.hxx
index 8ddb9ec83bbf..93abcad5e23d 100644
--- a/include/svl/nfengine.hxx
+++ b/include/svl/nfengine.hxx
@@ -124,6 +124,7 @@ public:
     sal_uInt16 GetCurrencyFormatStrings(NfWSStringsDtor&, const 
NfCurrencyEntry&, bool bBank) const;
 
     void ChangeStandardPrec(short nPrec);
+    sal_uInt16 GetStandardPrec() const;
 
     sal_uInt16 ExpandTwoDigitYear(sal_uInt16 nYear) const;
 
diff --git a/include/svl/zformat.hxx b/include/svl/zformat.hxx
index 82aa5e845b09..6b112d284bba 100644
--- a/include/svl/zformat.hxx
+++ b/include/svl/zformat.hxx
@@ -611,13 +611,17 @@ private:
 
     // standard number output
     SVL_DLLPRIVATE void ImpGetOutputStandard(double& fNumber, OUString& 
OutString,
-                                             const NativeNumberWrapper& 
rNatNum) const;
+                                             const NativeNumberWrapper& 
rNatNum,
+                                             const SvNFLanguageData& 
rCurrentLang) const;
     SVL_DLLPRIVATE void ImpGetOutputStandard(double& fNumber, OUStringBuffer& 
OutString,
-                                             const NativeNumberWrapper& 
rNatNum) const;
+                                             const NativeNumberWrapper& 
rNatNum,
+                                             const SvNFLanguageData& 
rCurrentLang) const;
     SVL_DLLPRIVATE void ImpGetOutputStdToPrecision(double& rNumber, OUString& 
rOutString, sal_uInt16 nPrecision,
-                                                   const NativeNumberWrapper& 
rNatNum) const;
+                                                   const NativeNumberWrapper& 
rNatNum,
+                                                   const SvNFLanguageData& 
rCurrentLang) const;
     // numbers in input line
-    SVL_DLLPRIVATE void ImpGetOutputInputLine( double fNumber, OUString& 
OutString ) const;
+    SVL_DLLPRIVATE void ImpGetOutputInputLine( double fNumber, OUString& 
OutString,
+                                               const SvNFLanguageData& 
rCurrentLang ) const;
 
     // check subcondition
     // OP undefined => -1
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index 2ae7abe17465..2537a718de97 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -509,6 +509,11 @@ void SvNFLanguageData::ChangeStandardPrec(short nPrec)
     pFormatScanner->ChangeStandardPrec(nPrec);
 }
 
+sal_uInt16 SvNFLanguageData::GetStandardPrec() const
+{
+    return pFormatScanner->GetStandardPrec();
+}
+
 const Date& SvNumberFormatter::GetNullDate() const
 {
     ::osl::MutexGuard aGuard( GetInstanceMutex() );
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 89bd8eb9e56f..d61d9893f67e 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -2038,28 +2038,30 @@ OUString SvNumberformat::StripNewCurrencyDelimiters( 
const OUString& rStr )
 }
 
 void SvNumberformat::ImpGetOutputStandard(double& fNumber, OUStringBuffer& 
rOutString,
-                                          const NativeNumberWrapper& rNatNum) 
const
+                                          const NativeNumberWrapper& rNatNum,
+                                          const SvNFLanguageData& 
rCurrentLang) const
 {
     OUString sTemp;
-    ImpGetOutputStandard(fNumber, sTemp, rNatNum);
+    ImpGetOutputStandard(fNumber, sTemp, rNatNum, rCurrentLang);
     rOutString = sTemp;
 }
 
 void SvNumberformat::ImpGetOutputStandard(double& fNumber, OUString& 
rOutString,
-                                          const NativeNumberWrapper& rNatNum) 
const
+                                          const NativeNumberWrapper& rNatNum,
+                                          const SvNFLanguageData& 
rCurrentLang) const
 {
-    sal_uInt16 nStandardPrec = rScan.GetStandardPrec();
+    sal_uInt16 nStandardPrec = rCurrentLang.GetStandardPrec();
 
     if ( fabs(fNumber) > EXP_ABS_UPPER_BOUND )
     {
         nStandardPrec = ::std::min(nStandardPrec, 
static_cast<sal_uInt16>(14)); // limits to 14 decimals
         rOutString = ::rtl::math::doubleToUString( fNumber,
                                                   rtl_math_StringFormat_E2, 
nStandardPrec /*2*/,
-                                                  
GetCurrentLanguageData().GetNumDecimalSep()[0]);
+                                                  
rCurrentLang.GetNumDecimalSep()[0]);
     }
     else
     {
-        ImpGetOutputStdToPrecision(fNumber, rOutString, nStandardPrec, 
rNatNum);
+        ImpGetOutputStdToPrecision(fNumber, rOutString, nStandardPrec, 
rNatNum, rCurrentLang);
     }
 }
 
@@ -2116,7 +2118,8 @@ void impTransliterate(OUStringBuffer& rStr, const 
SvNumberNatNum& rNum, const Na
 }
 
 void SvNumberformat::ImpGetOutputStdToPrecision(double& rNumber, OUString& 
rOutString, sal_uInt16 nPrecision,
-                                                const NativeNumberWrapper& 
rNatNum) const
+                                                const NativeNumberWrapper& 
rNatNum,
+                                                const SvNFLanguageData& 
rCurrentLang) const
 {
     // Make sure the precision doesn't go over the maximum allowable precision.
     nPrecision = ::std::min(UPPER_PRECISION, nPrecision);
@@ -2128,7 +2131,7 @@ void SvNumberformat::ImpGetOutputStdToPrecision(double& 
rNumber, OUString& rOutS
 
     rOutString = ::rtl::math::doubleToUString( rNumber,
                                                rtl_math_StringFormat_F, 
nPrecision /*2*/,
-                                               
GetCurrentLanguageData().GetNumDecimalSep()[0], true );
+                                               
rCurrentLang.GetNumDecimalSep()[0], true );
     if (rOutString[0] == '-' && checkForAll0s(rOutString, 1))
     {
         rOutString = comphelper::string::stripStart(rOutString, '-'); // not -0
@@ -2136,7 +2139,8 @@ void SvNumberformat::ImpGetOutputStdToPrecision(double& 
rNumber, OUString& rOutS
     rOutString = ::impTransliterate(rOutString, NumFor[0].GetNatNum(), 
rNatNum);
 }
 
-void SvNumberformat::ImpGetOutputInputLine(double fNumber, OUString& 
OutString) const
+void SvNumberformat::ImpGetOutputInputLine(double fNumber, OUString& OutString,
+                                           const SvNFLanguageData& 
rCurrentLang) const
 {
     bool bModified = false;
     if ( (eType & SvNumFormatType::PERCENT) && (fabs(fNumber) < 
D_MAX_D_BY_100))
@@ -2159,7 +2163,7 @@ void SvNumberformat::ImpGetOutputInputLine(double 
fNumber, OUString& OutString)
     OutString = ::rtl::math::doubleToUString( fNumber,
                                               rtl_math_StringFormat_Automatic,
                                               rtl_math_DecimalPlaces_Max,
-                                              
GetCurrentLanguageData().GetNumDecimalSep()[0], true );
+                                              
rCurrentLang.GetNumDecimalSep()[0], true );
 
     if ( eType & SvNumFormatType::PERCENT && bModified)
     {
@@ -2460,7 +2464,7 @@ bool SvNumberformat::GetOutputString(double fNumber, 
sal_uInt16 nCharCount, OUSt
         // Subtract the decimal point.
         --nPrec;
     }
-    ImpGetOutputStdToPrecision(fNumber, rOutString, nPrec, rNatNum);
+    ImpGetOutputStdToPrecision(fNumber, rOutString, nPrec, rNatNum, 
GetCurrentLanguageData());
     if (rOutString.getLength() > nCharCount)
     {
         // String still wider than desired.  Switch to scientific notation.
@@ -2519,22 +2523,22 @@ bool SvNumberformat::GetOutputString(double fNumber,
     OUStringBuffer sBuff(64);
     if (eType & SvNumFormatType::TEXT)
     {
-        ImpGetOutputStandard(fNumber, sBuff, rNatNum);
+        ImpGetOutputStandard(fNumber, sBuff, rNatNum, rCurrentLang);
         OutString = sBuff.makeStringAndClear();
         return false;
     }
     bool bHadStandard = false;
     if (bStandard) // Individual standard formats
     {
-        if (rScan.GetStandardPrec() == 
SvNumberFormatter::INPUTSTRING_PRECISION) // All number format InputLine
+        if (rCurrentLang.GetStandardPrec() == 
SvNumberFormatter::INPUTSTRING_PRECISION) // All number format InputLine
         {
-            ImpGetOutputInputLine(fNumber, OutString);
+            ImpGetOutputInputLine(fNumber, OutString, rCurrentLang);
             return false;
         }
         switch (eType)
         {
         case SvNumFormatType::NUMBER: // Standard number format
-            if (rScan.GetStandardPrec() == 
SvNumberFormatter::UNLIMITED_PRECISION)
+            if (rCurrentLang.GetStandardPrec() == 
SvNumberFormatter::UNLIMITED_PRECISION)
             {
                 if (std::signbit(fNumber))
                 {
@@ -2567,23 +2571,23 @@ bool SvNumberformat::GetOutputString(double fNumber,
                         OutString = ::rtl::math::doubleToUString( fNumber,
                                 rtl_math_StringFormat_F,
                                 rtl_math_DecimalPlaces_Max,
-                                
GetCurrentLanguageData().GetNumDecimalSep()[0], true);
+                                rCurrentLang.GetNumDecimalSep()[0], true);
                     else
                         OutString = ::rtl::math::doubleToUString( fNumber,
                                 rtl_math_StringFormat_E2,
                                 rtl_math_DecimalPlaces_Max,
-                                
GetCurrentLanguageData().GetNumDecimalSep()[0], true);
+                                rCurrentLang.GetNumDecimalSep()[0], true);
                 }
                 else
                 {
                     OutString = ::rtl::math::doubleToUString( fNumber,
                                 rtl_math_StringFormat_Automatic,
                                 rtl_math_DecimalPlaces_Max,
-                                
GetCurrentLanguageData().GetNumDecimalSep()[0], true);
+                                rCurrentLang.GetNumDecimalSep()[0], true);
                 }
                 return false;
             }
-            ImpGetOutputStandard(fNumber, sBuff, rNatNum);
+            ImpGetOutputStandard(fNumber, sBuff, rNatNum, rCurrentLang);
             bHadStandard = true;
             break;
         case SvNumFormatType::DATE:
@@ -2619,7 +2623,7 @@ bool SvNumberformat::GetOutputString(double fNumber,
         }
         else if (nCnt == 0) // Else Standard Format
         {
-            ImpGetOutputStandard(fNumber, sBuff, rNatNum);
+            ImpGetOutputStandard(fNumber, sBuff, rNatNum, rCurrentLang);
             OutString = sBuff.makeStringAndClear();
             return false;
         }
@@ -4619,7 +4623,7 @@ bool SvNumberformat::ImpDecimalFill(const 
NativeNumberWrapper& rNatNum,
             case NF_KEY_GENERAL: // Standard in the String
             {
                 OUStringBuffer sNum;
-                ImpGetOutputStandard(rNumber, sNum, rNatNum);
+                ImpGetOutputStandard(rNumber, sNum, rNatNum, 
GetCurrentLanguageData());
                 sNum.stripStart('-');
                 sStr.insert(k, sNum);
                 break;
@@ -4787,7 +4791,7 @@ bool SvNumberformat::ImpNumberFillWithThousands( const 
NativeNumberWrapper& rNat
         case NF_KEY_GENERAL: // "General" in string
         {
             OUStringBuffer sNum;
-            ImpGetOutputStandard(rNumber, sNum, rNatNum);
+            ImpGetOutputStandard(rNumber, sNum, rNatNum, 
GetCurrentLanguageData());
             sNum.stripStart('-');
             sBuff.insert(k, sNum);
             break;
@@ -4925,7 +4929,7 @@ bool SvNumberformat::ImpNumberFill( const 
NativeNumberWrapper& rNatNum,
         {
             OUStringBuffer sNum;
             bFoundNumber = true;
-            ImpGetOutputStandard(rNumber, sNum, rNatNum);
+            ImpGetOutputStandard(rNumber, sNum, rNatNum, 
GetCurrentLanguageData());
             sNum.stripStart('-');
             sBuff.insert(k, sNum);
         }

Reply via email to