diff --git a/layout/stack.go b/layout/stack.go index 0de43dff..d17129d6 100644 --- a/layout/stack.go +++ b/layout/stack.go @@ -50,14 +50,14 @@ func Expanded(w Widget) StackChild { func (s Stack) Layout(gtx Context, children ...StackChild) Dimensions { var maxSZ image.Point // First lay out Stacked children. + cgtx := gtx + cgtx.Constraints.Min = image.Point{} for i, w := range children { if w.expanded { continue } macro := op.Record(gtx.Ops) - gtx := gtx - gtx.Constraints.Min = image.Pt(0, 0) - dims := w.widget(gtx) + dims := w.widget(cgtx) call := macro.Stop() if w := dims.Size.X; w > maxSZ.X { maxSZ.X = w @@ -74,11 +74,8 @@ func (s Stack) Layout(gtx Context, children ...StackChild) Dimensions { continue } macro := op.Record(gtx.Ops) - gtx := gtx - gtx.Constraints = Constraints{ - Min: maxSZ, Max: gtx.Constraints.Max, - } - dims := w.widget(gtx) + cgtx.Constraints.Min = maxSZ + dims := w.widget(cgtx) call := macro.Stop() if w := dims.Size.X; w > maxSZ.X { maxSZ.X = w