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:
