Optimize auction listing visible-row and selection scans

This commit is contained in:
Dusk-92
2026-09-05 21:45:24 +02:00
parent eb53d9f680
commit c71da85b80
+4 -4
View File
@@ -769,9 +769,12 @@ local methods = {
row:Hide()
end
local rowIndex = 1 - FauxScrollFrame_GetOffset(self.scrollFrame)
local rowLimit = getn(self.rows)
for _, v in ipairs(self.rowInfo) do
if rowIndex > rowLimit then break end
if self.expanded[v.expandKey] then
for j, childInfo in ipairs(v.children) do
if rowIndex > rowLimit then break end
self:SetRowInfo(rowIndex, childInfo.record, childInfo.count, 0, j > 1, false, v.expandKey)
rowIndex = rowIndex + 1
end
@@ -896,16 +899,13 @@ local methods = {
GetSelection = function(self)
if not self.selected then return end
local selectedData
for _, v in ipairs(self.rowInfo) do
for _, childInfo in v.children do
if childInfo.record.search_signature == self.selected.search_signature then
selectedData = childInfo
break
return childInfo
end
end
end
return selectedData
end,
}