From bd973a404f7793adf2e955ae5182897cadff5c41 Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Wed, 21 Jan 2026 12:43:08 -0800 Subject: [PATCH] Fix dead-zone slider in the KCM app --- kwin/src/kcm/breezydesktopeffectkcm.cpp | 11 ++++++++++- kwin/src/kcm/breezydesktopeffectkcm.ui | 6 +++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/kwin/src/kcm/breezydesktopeffectkcm.cpp b/kwin/src/kcm/breezydesktopeffectkcm.cpp index eb8db1a..f9f18c6 100644 --- a/kwin/src/kcm/breezydesktopeffectkcm.cpp +++ b/kwin/src/kcm/breezydesktopeffectkcm.cpp @@ -883,7 +883,16 @@ void BreezyDesktopEffectConfig::updateNeckSaverVertical() void BreezyDesktopEffectConfig::updateDeadZoneThresholdDeg() { auto configJsonOpt = XRDriverIPC::instance().retrieveConfig(); - double val = ui.DeadZoneThresholdDeg->value() / 10.0; + + int raw = ui.DeadZoneThresholdDeg->value(); + const int clampedRaw = std::clamp(raw, 0, 50); + if (raw != clampedRaw) { + QSignalBlocker b(ui.DeadZoneThresholdDeg); + ui.DeadZoneThresholdDeg->setValue(clampedRaw); + raw = clampedRaw; + } + + double val = raw / 10.0; val = std::clamp(val, 0.0, 5.0); const double current = deadZoneThresholdDeg(configJsonOpt); diff --git a/kwin/src/kcm/breezydesktopeffectkcm.ui b/kwin/src/kcm/breezydesktopeffectkcm.ui index 875ab1e..32b76ed 100644 --- a/kwin/src/kcm/breezydesktopeffectkcm.ui +++ b/kwin/src/kcm/breezydesktopeffectkcm.ui @@ -666,13 +666,13 @@ 1 - 0 + -5 - 50 + 55 - 0 + 5 10