mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-16 22:20:47 +01:00
DBG: Fixed ThreadDlg. TThreadsDlg.ThreadsChanged was not protected against re-entrance, and could crash.
git-svn-id: trunk@33226 -
This commit is contained in:
parent
c297090c91
commit
a5b5ca1199
@ -58,6 +58,9 @@ begin
|
|||||||
{$IFDEF DBG_DATA_MONITORS} try DebugLnEnter(['DebugDataMonitor: >>ENTER: TThreadsDlg.ThreadsChanged from ', DbgSName(Sender)]); {$ENDIF}
|
{$IFDEF DBG_DATA_MONITORS} try DebugLnEnter(['DebugDataMonitor: >>ENTER: TThreadsDlg.ThreadsChanged from ', DbgSName(Sender)]); {$ENDIF}
|
||||||
Exclude(FUpdateFlags, ufThreadChanged);
|
Exclude(FUpdateFlags, ufThreadChanged);
|
||||||
|
|
||||||
|
BeginUpdate;
|
||||||
|
lvThreads.BeginUpdate;
|
||||||
|
try
|
||||||
if ThreadsMonitor = nil then begin
|
if ThreadsMonitor = nil then begin
|
||||||
lvThreads.Clear;
|
lvThreads.Clear;
|
||||||
exit;
|
exit;
|
||||||
@ -112,7 +115,11 @@ begin
|
|||||||
lvThreads.Items[i].SubItems[5] := Threads[i].GetFunctionWithArg;
|
lvThreads.Items[i].SubItems[5] := Threads[i].GetFunctionWithArg;
|
||||||
lvThreads.Items[i].Data := Threads[i];
|
lvThreads.Items[i].Data := Threads[i];
|
||||||
end;
|
end;
|
||||||
|
finally
|
||||||
|
lvThreads.EndUpdate;
|
||||||
|
EndUpdate;
|
||||||
{$IFDEF DBG_DATA_MONITORS} finally DebugLnExit(['DebugDataMonitor: <<EXIT: TThreadsDlg.ThreadsChanged']); end; {$ENDIF}
|
{$IFDEF DBG_DATA_MONITORS} finally DebugLnExit(['DebugDataMonitor: <<EXIT: TThreadsDlg.ThreadsChanged']); end; {$ENDIF}
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TThreadsDlg.tbCurrentClick(Sender: TObject);
|
procedure TThreadsDlg.tbCurrentClick(Sender: TObject);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user