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() row:Hide()
end end
local rowIndex = 1 - FauxScrollFrame_GetOffset(self.scrollFrame) local rowIndex = 1 - FauxScrollFrame_GetOffset(self.scrollFrame)
local rowLimit = getn(self.rows)
for _, v in ipairs(self.rowInfo) do for _, v in ipairs(self.rowInfo) do
if rowIndex > rowLimit then break end
if self.expanded[v.expandKey] then if self.expanded[v.expandKey] then
for j, childInfo in ipairs(v.children) do 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) self:SetRowInfo(rowIndex, childInfo.record, childInfo.count, 0, j > 1, false, v.expandKey)
rowIndex = rowIndex + 1 rowIndex = rowIndex + 1
end end
@@ -896,16 +899,13 @@ local methods = {
GetSelection = function(self) GetSelection = function(self)
if not self.selected then return end if not self.selected then return end
local selectedData
for _, v in ipairs(self.rowInfo) do for _, v in ipairs(self.rowInfo) do
for _, childInfo in v.children do for _, childInfo in v.children do
if childInfo.record.search_signature == self.selected.search_signature then if childInfo.record.search_signature == self.selected.search_signature then
selectedData = childInfo return childInfo
break
end end
end end
end end
return selectedData
end, end,
} }