mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-07-22 20:47:12 +02:00
LCL: Solve most performance issues with virtual TListView (OwnerData=True). Issue #39324, patch by d7_2_laz.
This commit is contained in:
parent
6b71b51df2
commit
4d72245552
@ -1443,13 +1443,19 @@ begin
|
||||
if not (lffSelectedValid in FFlags) or MultiSelect then
|
||||
begin
|
||||
FSelected := nil;
|
||||
for i := 0 to Items.Count - 1 do
|
||||
if (not FOwnerData) or (FSelectedIdx >= 0) then
|
||||
begin
|
||||
if Items[i].Selected then
|
||||
begin
|
||||
FSelected := Items[i];
|
||||
break;
|
||||
end;
|
||||
if MultiSelect and FOwnerData and (FSelectedIdx >= 0) then
|
||||
FSelected := Items[FSelectedIdx]
|
||||
else
|
||||
for i := 0 to Items.Count - 1 do
|
||||
begin
|
||||
if Items[i].Selected then
|
||||
begin
|
||||
FSelected := Items[i];
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Include(FFlags, lffSelectedValid);
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user