From dc0e9c0f71f3e190aef40bf978d704b29ccc9da4 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Fri, 20 Jun 2008 20:18:16 +0000 Subject: [PATCH] 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. --- source/childwin.pas | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/childwin.pas b/source/childwin.pas index 49d631ca..a2f8ad9b 100644 --- a/source/childwin.pas +++ b/source/childwin.pas @@ -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.