mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-13 10:29:29 +02:00
IDE: fixed loading dependency list keeping order, bug #10967
git-svn-id: trunk@14489 -
This commit is contained in:
parent
ceb551d1a8
commit
b44b0d5c00
@ -311,6 +311,8 @@ type
|
|||||||
function PrevRequiresDependency: TPkgDependency;
|
function PrevRequiresDependency: TPkgDependency;
|
||||||
procedure AddToList(var FirstDependency: TPkgDependency;
|
procedure AddToList(var FirstDependency: TPkgDependency;
|
||||||
ListType: TPkgDependencyList);
|
ListType: TPkgDependencyList);
|
||||||
|
procedure AddToEndOfList(var LastDependency: TPkgDependency;
|
||||||
|
ListType: TPkgDependencyList);
|
||||||
procedure RemoveFromList(var FirstDependency: TPkgDependency;
|
procedure RemoveFromList(var FirstDependency: TPkgDependency;
|
||||||
ListType: TPkgDependencyList);
|
ListType: TPkgDependencyList);
|
||||||
procedure MoveUpInList(var FirstDependency: TPkgDependency;
|
procedure MoveUpInList(var FirstDependency: TPkgDependency;
|
||||||
@ -985,6 +987,7 @@ var
|
|||||||
NewCount: Integer;
|
NewCount: Integer;
|
||||||
List: TFPList;
|
List: TFPList;
|
||||||
FileVersion: Integer;
|
FileVersion: Integer;
|
||||||
|
Last: TPkgDependency;
|
||||||
begin
|
begin
|
||||||
FileVersion:=XMLConfig.GetValue(ThePath+'Version',0);
|
FileVersion:=XMLConfig.GetValue(ThePath+'Version',0);
|
||||||
NewCount:=XMLConfig.GetValue(ThePath+'Count',0);
|
NewCount:=XMLConfig.GetValue(ThePath+'Count',0);
|
||||||
@ -1001,9 +1004,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
if SortList then
|
if SortList then
|
||||||
SortDependencyList(List);
|
SortDependencyList(List);
|
||||||
|
Last:=First;
|
||||||
|
if Last<>nil then
|
||||||
|
while Last.NextDependency[ListType]<>nil do
|
||||||
|
Last:=Last.NextDependency[ListType];
|
||||||
for i:=0 to List.Count-1 do begin
|
for i:=0 to List.Count-1 do begin
|
||||||
TPkgDependency(List[i]).AddToList(First,ListType);
|
TPkgDependency(List[i]).AddToEndOfList(Last,ListType);
|
||||||
TPkgDependency(List[i]).Owner:=Owner;
|
if First=nil then
|
||||||
|
First:=Last;
|
||||||
|
PkgDependency.Owner:=Owner;
|
||||||
end;
|
end;
|
||||||
List.Free;
|
List.Free;
|
||||||
end;
|
end;
|
||||||
@ -1856,6 +1865,16 @@ begin
|
|||||||
NextDependency[ListType].PrevDependency[ListType]:=Self;
|
NextDependency[ListType].PrevDependency[ListType]:=Self;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPkgDependency.AddToEndOfList(var LastDependency: TPkgDependency;
|
||||||
|
ListType: TPkgDependencyList);
|
||||||
|
begin
|
||||||
|
PrevDependency[ListType]:=LastDependency;
|
||||||
|
LastDependency:=Self;
|
||||||
|
NextDependency[ListType]:=nil;
|
||||||
|
if PrevDependency[ListType]<>nil then
|
||||||
|
PrevDependency[ListType].NextDependency[ListType]:=Self;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPkgDependency.RemoveFromList(var FirstDependency: TPkgDependency;
|
procedure TPkgDependency.RemoveFromList(var FirstDependency: TPkgDependency;
|
||||||
ListType: TPkgDependencyList);
|
ListType: TPkgDependencyList);
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user