From 3db0a7ec0f8876dd3383da1c5dfe800c0c49e9b8 Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 5 Feb 2013 09:49:55 +0000 Subject: [PATCH] IDE: project: add units to end of lists git-svn-id: trunk@40191 - --- ide/project.pp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ide/project.pp b/ide/project.pp index 861eb505f4..bac0d3cfdd 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -767,7 +767,7 @@ type FDefineTemplates: TProjectDefineTemplates; fDestroying: boolean; FEnableI18N: boolean; - fFirst: array[TUnitInfoList] of TUnitInfo; + fFirst, fLast: array[TUnitInfoList] of TUnitInfo; FFirstRemovedDependency: TPkgDependency; FFirstRequiredDependency: TPkgDependency; FJumpHistory: TProjectJumpHistory; @@ -5712,11 +5712,13 @@ begin if (fFirst[ListType]<>AnUnitInfo) and (AnUnitInfo.fNext[ListType]=nil) and (AnUnitInfo.fPrev[ListType]=nil) then begin - AnUnitInfo.fNext[ListType]:=fFirst[ListType]; - AnUnitInfo.fPrev[ListType]:=nil; - fFirst[ListType]:=AnUnitInfo; - if AnUnitInfo.fNext[ListType]<>nil then - AnUnitInfo.fNext[ListType].fPrev[ListType]:=AnUnitInfo; + AnUnitInfo.fPrev[ListType]:=fLast[ListType]; + AnUnitInfo.fNext[ListType]:=nil; + if fFirst[ListType]=nil then + fFirst[ListType]:=AnUnitInfo + else + fLast[ListType].fNext[ListType]:=AnUnitInfo; + fLast[ListType]:=AnUnitInfo; end; end; @@ -5725,6 +5727,8 @@ begin // remove from list if AnUnitInfo is in list if fFirst[ListType]=AnUnitInfo then fFirst[ListType]:=AnUnitInfo.fNext[ListType]; + if fLast[ListType]=AnUnitInfo then + fLast[ListType]:=AnUnitInfo.fPrev[ListType]; if AnUnitInfo.fNext[ListType]<>nil then AnUnitInfo.fNext[ListType].fPrev[ListType]:=AnUnitInfo.fPrev[ListType]; if AnUnitInfo.fPrev[ListType]<>nil then