diff --git a/debugger/callstackdlg.pp b/debugger/callstackdlg.pp index 0a82434bc5..cfe1feb6eb 100644 --- a/debugger/callstackdlg.pp +++ b/debugger/callstackdlg.pp @@ -222,6 +222,7 @@ end; destructor TCallStackDlg.Destroy; begin + SetCallstack(nil); FCallStackNotification.OnChange := nil; FCallStackNotification.ReleaseReference; inherited Destroy; diff --git a/debugger/localsdlg.pp b/debugger/localsdlg.pp index fae793ce43..76e8e292ec 100644 --- a/debugger/localsdlg.pp +++ b/debugger/localsdlg.pp @@ -77,6 +77,7 @@ end; destructor TLocalsDlg.Destroy; begin + SetLocals(nil); FLocalsNotification.OnChange := nil; FLocalsNotification.ReleaseReference; inherited Destroy; diff --git a/debugger/registersdlg.pp b/debugger/registersdlg.pp index 4a940cc1ae..33d18f4ca3 100644 --- a/debugger/registersdlg.pp +++ b/debugger/registersdlg.pp @@ -77,6 +77,7 @@ end; destructor TRegistersDlg.Destroy; begin + SetRegisters(nil); FRegistersNotification.OnChange := nil; FRegistersNotification.ReleaseReference; inherited Destroy; diff --git a/ide/debugmanager.pas b/ide/debugmanager.pas index 8bca441798..5ef8456ca4 100644 --- a/ide/debugmanager.pas +++ b/ide/debugmanager.pas @@ -1526,7 +1526,6 @@ begin FDebugger := nil; FBreakPoints := TManagedBreakPoints.Create(Self); FBreakPointGroups := TIDEBreakPointGroups.Create; - FWatches := TManagedWatches.Create(Self); FExceptions := TManagedExceptions.Create(Self); FSignals := TManagedSignals.Create(Self); @@ -1557,6 +1556,7 @@ begin FreeAndNil(FExceptions); FreeAndNil(FSignals); FreeAndNil(FLocals); + FreeAndNil(FRegisters); FreeAndNil(FUserSourceFiles); FreeAndNil(FHiddenDebugOutputLog);