diff --git a/Sources/Adwaita/View/Forms/SpinRow.swift b/Sources/Adwaita/View/Forms/SpinRow.swift index 7fae276..fdee2eb 100644 --- a/Sources/Adwaita/View/Forms/SpinRow.swift +++ b/Sources/Adwaita/View/Forms/SpinRow.swift @@ -85,7 +85,10 @@ public struct SpinRow: Widget { _ = row.addSuffix(suffixContent.view) } _ = row.onChange { - value = .init(row.getValue().rounded()) + let value = Int(row.getValue().rounded()) + if self.value != value { + self.value = value + } } update(row: row) return .init(row, content: [prefixID: [prefixContent], suffixID: [suffixContent]]) diff --git a/Sources/Adwaita/View/Forms/SwitchRow.swift b/Sources/Adwaita/View/Forms/SwitchRow.swift index b84850f..ec863e6 100644 --- a/Sources/Adwaita/View/Forms/SwitchRow.swift +++ b/Sources/Adwaita/View/Forms/SwitchRow.swift @@ -65,7 +65,9 @@ public struct SwitchRow: Widget { _ = row.addSuffix(suffixContent.view) } _ = row.onChange { - isOn = row.getActive() + if row.getActive() != isOn { + isOn = row.getActive() + } } update(row: row) return .init(row, content: [prefixID: [prefixContent], suffixID: [suffixContent]])