mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 13:59:22 +02:00
IdeDebugger: Fix deleting multiple selected watches / crashed if some sub-watches were selected
This commit is contained in:
parent
9811b6927f
commit
34b7126915
@ -1029,8 +1029,24 @@ begin
|
|||||||
try
|
try
|
||||||
include(FStateFlags, wdsDeleting);
|
include(FStateFlags, wdsDeleting);
|
||||||
VNode := tvWatches.GetFirstSelected;
|
VNode := tvWatches.GetFirstSelected;
|
||||||
|
w := TIdeWatch(tvWatches.NodeItem[VNode]);
|
||||||
|
while (VNode <> nil) and
|
||||||
|
((w = nil) or (w <> w.TopParentWatch))
|
||||||
|
do begin
|
||||||
|
VNode := tvWatches.GetNextSelected(VNode);
|
||||||
|
w := TIdeWatch(tvWatches.NodeItem[VNode]);
|
||||||
|
end;
|
||||||
|
|
||||||
while VNode <> nil do begin
|
while VNode <> nil do begin
|
||||||
NNode := tvWatches.GetNextSelected(VNode);
|
NNode := tvWatches.GetNextSelected(VNode);
|
||||||
|
w := TIdeWatch(tvWatches.NodeItem[NNode]);
|
||||||
|
while (NNode <> nil) and
|
||||||
|
((w = nil) or (w <> w.TopParentWatch))
|
||||||
|
do begin
|
||||||
|
NNode := tvWatches.GetNextSelected(NNode);
|
||||||
|
w := TIdeWatch(tvWatches.NodeItem[NNode]);
|
||||||
|
end;
|
||||||
|
|
||||||
w := TIdeWatch(tvWatches.NodeItem[VNode]);
|
w := TIdeWatch(tvWatches.NodeItem[VNode]);
|
||||||
if (w <> nil) and (w = w.TopParentWatch) then begin
|
if (w <> nil) and (w = w.TopParentWatch) then begin
|
||||||
if tvWatches.NodeItem[VNode] = FWatchInUpDateItem then
|
if tvWatches.NodeItem[VNode] = FWatchInUpDateItem then
|
||||||
|
Loading…
Reference in New Issue
Block a user