diff --git a/MLEM.Ui/Elements/Panel.cs b/MLEM.Ui/Elements/Panel.cs index 16d6c7a..d29720f 100644 --- a/MLEM.Ui/Elements/Panel.cs +++ b/MLEM.Ui/Elements/Panel.cs @@ -70,7 +70,8 @@ namespace MLEM.Ui.Elements { return; if (otherElement == null || !otherElement.GetParentTree().Contains(this)) return; - this.ScrollBar.CurrentValue = (otherElement.Area.Bottom - this.Children[1].Area.Top - this.Area.Height / 2) / this.Scale; + var firstChild = this.Children.First(c => !(c is ScrollBar)); + this.ScrollBar.CurrentValue = (otherElement.Area.Bottom - firstChild.Area.Top - this.Area.Height / 2) / this.Scale; }; this.AddChild(this.ScrollBar); } @@ -205,7 +206,7 @@ namespace MLEM.Ui.Elements { if (this.Children.Count == 1) return; // the "real" first child is the scroll bar, which we want to ignore - var firstChild = this.Children[1]; + var firstChild = this.Children.First(c => !(c is ScrollBar)); var lowestChild = this.GetLowestChild(e => !e.IsHidden); // the max value of the scrollbar is the amount of non-scaled pixels taken up by overflowing components var childrenHeight = lowestChild.Area.Bottom - firstChild.Area.Top;