widget: report Enum.Changed only when actually changed

Fixes gio#159

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-08-24 18:49:54 +02:00
parent d3fffef861
commit 7eff3f561f
+3 -1
View File
@@ -50,10 +50,12 @@ func (e *Enum) Layout(gtx layout.Context, key string) layout.Dimensions {
for _, ev := range clk.Events(gtx) { for _, ev := range clk.Events(gtx) {
switch ev.Type { switch ev.Type {
case gesture.TypeClick: case gesture.TypeClick:
e.Value = e.values[idx] if new := e.values[idx]; new != e.Value {
e.Value = new
e.changed = true e.changed = true
} }
} }
}
clk.Add(gtx.Ops) clk.Add(gtx.Ops)
} }