From 7f69da20510a8b35c5dc6f470e797d92a9d4452c Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sun, 23 Nov 2008 11:19:53 +0000 Subject: [PATCH] Do not recycle field editor form, fixes bug #870 :AV on "Edit column" after reconnection --- source/fieldeditor.pas | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/fieldeditor.pas b/source/fieldeditor.pas index e873e72d..08ac4292 100644 --- a/source/fieldeditor.pas +++ b/source/fieldeditor.pas @@ -88,6 +88,7 @@ type procedure listClick(Sender: TObject); procedure comboDefaultChange(Sender: TObject); procedure FormResize(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } TempKeys : TStringList; @@ -123,7 +124,6 @@ uses var klist : Array of TMysqlIndex; - FieldEditForm : TFieldEditForm; {$R *.DFM} @@ -133,9 +133,10 @@ var Create form } function FieldEditorWindow (AOwner : TComponent; AMode : TFieldEditorMode; AFieldName : WideString = '') : Boolean; +var + FieldEditForm : TFieldEditForm; begin - if FieldEditForm = nil then - FieldEditForm := TFieldEditForm.Create(AOwner); + FieldEditForm := TFieldEditForm.Create(AOwner); FieldEditForm.FMode := AMode; // Also remember original mode for restoring when switching pagecontrol tabs FieldEditForm.FModeWhenCalled := AMode; @@ -165,6 +166,15 @@ begin end; +{** + FormClose - don't recycle this form, see bug #870 +} +procedure TFieldEditForm.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; +end; + + {*** Init Field-Editor }