Fix AV on FormClose when DatabasesWanted is used. Databases := DatabasesWanted doesn't create a copy of DatabasesWanted, only a reference! Then, after freeing DatabasesWanted, FreeAndNil(Databases) lead to the AV.

This commit is contained in:
Ansgar Becker
2008-06-20 20:18:16 +00:00
parent 81a21398f9
commit dc0e9c0f71

View File

@@ -6730,9 +6730,9 @@ begin
0: begin
Screen.Cursor := crSQLWait;
mainform.Showstatus( 'Reading Databases...', 2 );
Databases := TStringList.Create;
if DatabasesWanted.Count = 0 then begin
ds := GetResults( 'SHOW DATABASES' );
Databases := TStringList.Create;
specialDbs := TStringList.Create;
for i:=1 to ds.RecordCount do begin
dbName := ds.FieldByName('Database').AsString;
@@ -6747,7 +6747,7 @@ begin
for i := specialDbs.Count - 1 downto 0 do
Databases.Insert( 0, specialDbs[i] );
end else
Databases := DatabasesWanted;
Databases.AddStrings(DatabasesWanted);
Mainform.showstatus( IntToStr( Databases.Count ) + ' Databases' );
ChildCount := Databases.Count;
// Avoids excessive InitializeKeywordLists() calls.