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
+4 -2
View File
@@ -50,8 +50,10 @@ func (e *Enum) Layout(gtx layout.Context, key string) layout.Dimensions {
for _, ev := range clk.Events(gtx) {
switch ev.Type {
case gesture.TypeClick:
e.Value = e.values[idx]
e.changed = true
if new := e.values[idx]; new != e.Value {
e.Value = new
e.changed = true
}
}
}
clk.Add(gtx.Ops)