fix(tracker): when changing unit type, use tracker.SetUnit

This commit is contained in:
vsariola
2021-02-05 22:28:04 +02:00
parent 5e7bd75b36
commit c574b27d34

View File

@ -109,8 +109,7 @@ func (t *Tracker) layoutUnitTypeChooser() layout.Widget {
paint.FillShape(gtx.Ops, unitSurfaceColor, clip.Rect{Max: image.Pt(gtx.Constraints.Max.X, gtx.Constraints.Max.Y)}.Op()) paint.FillShape(gtx.Ops, unitSurfaceColor, clip.Rect{Max: image.Pt(gtx.Constraints.Max.X, gtx.Constraints.Max.Y)}.Op())
listElem := func(gtx C, i int) D { listElem := func(gtx C, i int) D {
for t.ChooseUnitTypeBtns[i].Clicked() { for t.ChooseUnitTypeBtns[i].Clicked() {
u := defaultUnits[allUnits[i]] t.SetUnit(allUnits[i])
t.song.Patch.Instruments[t.CurrentInstrument].Units[t.CurrentUnit] = (&u).Copy()
} }
labelStyle := LabelStyle{Text: allUnits[i], ShadeColor: black, Color: white, Font: labelDefaultFont, FontSize: unit.Sp(12)} labelStyle := LabelStyle{Text: allUnits[i], ShadeColor: black, Color: white, Font: labelDefaultFont, FontSize: unit.Sp(12)}
bg := func(gtx C) D { bg := func(gtx C) D {