IDE: not setting modified when updating executable type, bug #11851

git-svn-id: trunk@16027 -
This commit is contained in:
mattias 2008-08-12 10:31:55 +00:00
parent 64ee105a75
commit 8375c12c1a
2 changed files with 23 additions and 7 deletions

View File

@ -42,6 +42,8 @@ interface
{$I ide.inc}
{off $DEFINE VerboseProjectModified}
uses
{$IFDEF IDE_MEM_CHECK}
MemCheck,
@ -4191,35 +4193,47 @@ begin
Result:=true;
if CheckData then begin
if Modified then begin
//DebugLn('TProject.SomethingModified Modified');
{$IFDEF VerboseProjectModified}
DebugLn('TProject.SomethingModified Modified');
{$ENDIF}
exit;
end;
if CompilerOptions.Modified then begin
Modified:=true;
//DebugLn(['TProject.SomethingModified CompilerOptions']);
{$IFDEF VerboseProjectModified}
DebugLn(['TProject.SomethingModified CompilerOptions']);
{$ENDIF}
exit;
end;
for i:=0 to UnitCount-1 do
if (Units[i].IsPartOfProject) and Units[i].Modified then begin
Modified:=true;
//DebugLn('TProject.SomethingModified PartOfProject ',Units[i].Filename);
{$IFDEF VerboseProjectModified}
DebugLn('TProject.SomethingModified PartOfProject ',Units[i].Filename);
{$ENDIF}
exit;
end;
end;
if CheckSession then begin
if SessionModified then begin
//DebugLn('TProject.SomethingModified SessionModified');
{$IFDEF VerboseProjectModified}
DebugLn('TProject.SomethingModified SessionModified');
{$ENDIF}
exit;
end;
for i:=0 to UnitCount-1 do begin
if Units[i].SessionModified then begin
SessionModified:=true;
//DebugLn('TProject.SomethingModified Session ',Units[i].Filename);
{$IFDEF VerboseProjectModified}
DebugLn('TProject.SomethingModified Session ',Units[i].Filename);
{$ENDIF}
exit;
end;
if (not Units[i].IsPartOfProject) and Units[i].Modified then begin
SessionModified:=true;
//DebugLn('TProject.SomethingModified Not PartOfProject ',Units[i].Filename);
{$IFDEF VerboseProjectModified}
DebugLn('TProject.SomethingModified Not PartOfProject ',Units[i].Filename);
{$ENDIF}
exit;
end;
end;

View File

@ -1114,7 +1114,9 @@ end;
procedure TLazProject.SetModified(const AValue: boolean);
begin
if fModified=AValue then exit;
DebugLn(['TLazProject.SetModified New=',AValue]);
fModified:=AValue;
DumpStack;
end;
procedure TLazProject.SetSessionModified(const AValue: boolean);
@ -1141,7 +1143,7 @@ procedure TLazProject.SetExecutableType(const AValue: TProjectExecutableType);
begin
if FExecutableType=AValue then exit;
FExecutableType:=AValue;
Modified:=true;
// not saved to lpi, so do not set Modified
end;
procedure TLazProject.SetLazCompilerOptions(const AValue: TLazCompilerOptions);