mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-14 16:19:46 +02:00
Debugger, IDE: prevent dangling pointer in Source-Hint watch-eval.
(cherry picked from commit 4d3adb3870
)
This commit is contained in:
parent
4c41d70ddf
commit
af2489f6ff
@ -193,6 +193,7 @@ type
|
||||
var Result: TStartNewInstanceResult; var outSourceWindowHandle: HWND);
|
||||
procedure LazInstancesGetOpenedProjectFileName(var outProjectFileName: string);
|
||||
procedure OnHintWatchValidityChanged(Sender: TObject);
|
||||
procedure HintWatchFreed(Sender: TObject);
|
||||
procedure DlgDebugInfoHelpRequested(Sender: TObject; AModalResult: TModalResult; var ACanClose: Boolean);
|
||||
|
||||
public
|
||||
@ -11515,6 +11516,11 @@ begin
|
||||
CodeExplorerView.CurrentCodeBufferChanged;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.HintWatchFreed(Sender: TObject);
|
||||
begin
|
||||
FHintWatchData.WatchValue := nil;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.OnHintWatchValidityChanged(Sender: TObject);
|
||||
var
|
||||
p: SizeInt;
|
||||
@ -11678,6 +11684,7 @@ begin
|
||||
st := CStack.CurrentIndex;
|
||||
FHintWatchData.WatchValue := aWatch.Values[tid, st] as TCurrentWatchValue;
|
||||
FHintWatchData.WatchValue.OnValidityChanged := @OnHintWatchValidityChanged;
|
||||
FHintWatchData.WatchValue.AddFreeNotification(@HintWatchFreed);
|
||||
FHintWatchData.WatchValue.Value;
|
||||
OnHintWatchValidityChanged(FHintWatchData.WatchValue);
|
||||
exit;
|
||||
|
Loading…
Reference in New Issue
Block a user