ide: correct wrong modified state

git-svn-id: trunk@16923 -
This commit is contained in:
paul 2008-10-07 22:20:01 +00:00
parent c35a24043c
commit 8bf594dfcf
2 changed files with 11 additions and 16 deletions

View File

@ -606,7 +606,6 @@ type
FUnitList: TFPList; // list of _all_ units (TUnitInfo) FUnitList: TFPList; // list of _all_ units (TUnitInfo)
FUpdateLock: integer; FUpdateLock: integer;
FUseAppBundle: Boolean; FUseAppBundle: Boolean;
FInModified: Boolean;
FResources: TProjectResources; FResources: TProjectResources;
function GetFirstAutoRevertLockedUnit: TUnitInfo; function GetFirstAutoRevertLockedUnit: TUnitInfo;
function GetFirstLoadedUnit: TUnitInfo; function GetFirstLoadedUnit: TUnitInfo;
@ -1857,7 +1856,6 @@ constructor TProject.Create(ProjectDescription: TProjectDescriptor);
begin begin
inherited Create(ProjectDescription); inherited Create(ProjectDescription);
FInModified := False;
fActiveEditorIndexAtStart := -1; fActiveEditorIndexAtStart := -1;
FAutoCreateForms := true; FAutoCreateForms := true;
FBookmarks := TProjectBookmarkList.Create; FBookmarks := TProjectBookmarkList.Create;
@ -2860,20 +2858,15 @@ end;
procedure TProject.SetModified(const AValue: boolean); procedure TProject.SetModified(const AValue: boolean);
begin begin
// prevent change of modified during this chain
if FInModified then
Exit;
FInModified := True;
if AValue = Modified then exit; if AValue = Modified then exit;
inherited SetModified(AValue); inherited SetModified(AValue);
if not Modified then if not Modified then
begin begin
PublishOptions.Modified := False; PublishOptions.Modified := False;
CompilerOptions.Modified := False; CompilerOptions.Modified := False;
Resources.Modified := False;
SessionModified := False; SessionModified := False;
Resources.Modified := False
end; end;
FInModified := False;
end; end;
procedure TProject.SetSessionModified(const AValue: boolean); procedure TProject.SetSessionModified(const AValue: boolean);

View File

@ -75,17 +75,19 @@ begin
if FInModified then if FInModified then
Exit; Exit;
FInModified := True; FInModified := True;
if FModified = AValue then exit; if FModified <> AValue then
FModified := AValue;
if not FModified then
begin begin
VersionInfo.Modified := False; FModified := AValue;
XPManifest.Modified := False; if not FModified then
ProjectIcon.Modified := False; begin
VersionInfo.Modified := False;
XPManifest.Modified := False;
ProjectIcon.Modified := False;
end;
if Assigned(FOnModified) then
OnModified(Self);
end; end;
FInModified := False; FInModified := False;
if Assigned(FOnModified) then
OnModified(Self);
end; end;
function TProjectResources.Update(TargetOS: String): Boolean; function TProjectResources.Update(TargetOS: String): Boolean;