Skip to content

Commit 2bbf954

Browse files
authored
Merge pull request #1847 from riganti/fix/near-page-index-OOR-v5
Fix near page indexes crashing on invalid page number
2 parents d824028 + ba42313 commit 2bbf954

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/Framework/Core/Controls/Options/PagingOptions.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,10 @@ public virtual IList<int> GetNearPageIndexes()
107107
/// </summary>
108108
protected virtual IList<int> GetDefaultNearPageIndexes(int distance)
109109
{
110-
var firstIndex = Math.Max(PageIndex - distance, 0);
111-
var lastIndex = Math.Min(PageIndex + distance + 1, PagesCount);
110+
var count = this.PagesCount;
111+
var index = Math.Max(0, Math.Min(count - 1, PageIndex)); // clamp index to be a valid page
112+
var firstIndex = Math.Max(index - distance, 0);
113+
var lastIndex = Math.Min(index + distance + 1, count);
112114
return Enumerable
113115
.Range(firstIndex, lastIndex - firstIndex)
114116
.ToList();

0 commit comments

Comments
 (0)