LazControls: FilterEdit, unsort data in branch, if owner.SortData is or fShowDirHierarchy change. TODO: keep track, and avoid sorting if e.g. only filter changed. Issue: #41282

This commit is contained in:
Martin 2024-12-16 22:03:47 +01:00
parent bc56d9b8cc
commit b1d3af8d21

View File

@ -247,7 +247,8 @@ var
begin
fFilteredData.Clear;
if fOriginalData.Modified then begin
// TODO: keep track of changes to FOwner>SortData / Filter => optimize if they have not changed
//if fOriginalData.Modified then begin
fSortedData.Assign(fOriginalData);
if fOwner.SortData then begin
for i := 0 to fSortedData.Count - 1 do
@ -261,7 +262,7 @@ begin
MergeSortWithLen(PPointer(fSortedData.FList.List^), fSortedData.Count, @DoCompFN);
end;
fOriginalData.Modified := False; // fSortedData is up to date
end;
//end;
fDisplayedData:=fSortedData;
if (fOwner.Filter<>'') then begin