mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-02 07:57:29 +00:00
widget/material: fix List anchoring with zero minimum constraints
This comment and associated code were designed to guard against the scrollbar failing to anchor to the proper edge of the content when the layout.Direction was used with a zero minimum constraint. However, they were in the wrong place to actually achieve the desired behavior. This change simply moves the constraints change to before the invocation of layout.Direction's Layout method. This fixes the scrollbar appearing on the wrong edge of content when the content is laid out with a zero minimum constraint. Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
This commit is contained in:
@@ -272,11 +272,11 @@ func (l ListStyle) Layout(gtx layout.Context, length int, w layout.ListElement)
|
||||
}
|
||||
majorAxisSize := l.state.Axis.Convert(listDims.Size).X
|
||||
start, end := fromListPosition(l.state.Position, length, majorAxisSize)
|
||||
// layout.Direction respects the minimum, so ensure that the
|
||||
// scrollbar will be drawn on the correct edge even if the provided
|
||||
// layout.Context had a zero minimum constraint.
|
||||
gtx.Constraints.Min = gtx.Constraints.Max
|
||||
anchoring.Layout(gtx, func(gtx layout.Context) layout.Dimensions {
|
||||
// layout.Dimension respects the minimum, so ensure that the
|
||||
// scrollbar will be drawn on the correct edge even if the provided
|
||||
// layout.Context had a zero minimum constraint.
|
||||
gtx.Constraints.Min = gtx.Constraints.Max
|
||||
return l.ScrollbarStyle.Layout(gtx, l.state.Axis, start, end)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user