drawinglayer/source/tools/emfphelperdata.cxx |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

New commits:
commit cc6ccbed6a1acfb5baca53ad5220be276790588f
Author:     Caolán McNamara <[email protected]>
AuthorDate: Fri Oct 31 21:08:32 2025 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Nov 2 15:43:24 2025 +0100

    cid#1667045 Division or modulo by float zero
    
    Change-Id: I05fd65a9412aab71cd453e2e4737046fb15059b0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193299
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/drawinglayer/source/tools/emfphelperdata.cxx 
b/drawinglayer/source/tools/emfphelperdata.cxx
index 143eeec8ac72..50333946053e 100644
--- a/drawinglayer/source/tools/emfphelperdata.cxx
+++ b/drawinglayer/source/tools/emfphelperdata.cxx
@@ -899,6 +899,9 @@ namespace emfplushelper
         }
     }
 
+    const sal_uInt16 LOWERGAMMA = 1000;
+    const sal_uInt16 UPPERGAMMA = 2200;
+
     EmfPlusHelperData::EmfPlusHelperData(
         SvMemoryStream& rMS,
         wmfemfhelper::TargetHolders& rTargetHolders,
@@ -1667,7 +1670,9 @@ namespace emfplushelper
 
                         if (mbSetTextContrast)
                         {
-                            const auto gammaVal = mnTextContrast / 1000;
+                            sal_uInt16 nTextContrast = 
std::clamp(mnTextContrast, LOWERGAMMA, UPPERGAMMA);
+                            const auto gammaVal = nTextContrast / 1000;
+                            SAL_INFO("drawinglayer.emf", "EMF+  Text contrast: 
" << gammaVal << " gamma");
                             const basegfx::BColorModifier_gamma 
gamma(gammaVal);
 
                             // gamma correct transparency color
@@ -1766,16 +1771,10 @@ namespace emfplushelper
                     }
                     case EmfPlusRecordTypeSetTextContrast:
                     {
-                        const sal_uInt16 LOWERGAMMA = 1000;
-                        const sal_uInt16 UPPERGAMMA = 2200;
-
                         mbSetTextContrast = true;
                         mnTextContrast = flags & 0xFFF;
                         SAL_WARN_IF(mnTextContrast > UPPERGAMMA || 
mnTextContrast < LOWERGAMMA,
                             "drawinglayer.emf", "EMF+   Gamma value is not 
with bounds 1000 to 2200, value is " << mnTextContrast);
-                        mnTextContrast = std::min(mnTextContrast, UPPERGAMMA);
-                        mnTextContrast = std::max(mnTextContrast, LOWERGAMMA);
-                        SAL_INFO("drawinglayer.emf", "EMF+      Text contrast: 
" << (mnTextContrast / 1000) << " gamma");
                         break;
                     }
                     case EmfPlusRecordTypeSetTextRenderingHint:

Reply via email to