mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 11:40:35 +02:00
DBG: fixed endless loop in watch eval (auto type cast) Issue #0022425
git-svn-id: trunk@37950 -
This commit is contained in:
parent
8d2d0b8f96
commit
0336b51995
@ -319,7 +319,7 @@ type
|
||||
TGDBTypeProcessState =
|
||||
(gtpsInitial, gtpsInitialSimple,
|
||||
gtpsSimplePointer,
|
||||
gtpsClass, gtpsClassAutoCast, gtpsClassPointer, gtpsClassAncestor,
|
||||
gtpsClass, gtpsClassAutoCast, gtpsClassPointer, gtpsFinishProcessClass, gtpsClassAncestor,
|
||||
gtpsArray,
|
||||
gtpsEvalExpr, gtpsEvalExprRepeated,
|
||||
gtpsEvalExprArray, gtpsEvalExprDynArray, gtpsEvalExprDynArrayGetData,
|
||||
@ -2351,6 +2351,7 @@ var
|
||||
|
||||
procedure FinishProcessClass;
|
||||
begin
|
||||
FProcessState := gtpsFinishProcessClass;
|
||||
if (gtcfFullTypeInfo in FCreationFlags) and not (gtcfExprIsType in FCreationFlags) then
|
||||
if not RequireRequests([gptrWhatisExpr]) then
|
||||
exit;
|
||||
@ -2449,7 +2450,7 @@ var
|
||||
s := '^' + s;
|
||||
FHasAutoTypeCastFix := True;
|
||||
exclude(FProccesReuestsMade, gptrPtypeCustomAutoCast2);
|
||||
RequireRequests([gptrPtypeCustomAutoCast2], FExpression);
|
||||
RequireRequests([gptrPtypeCustomAutoCast2], s);
|
||||
exit;
|
||||
end;
|
||||
|
||||
@ -3165,18 +3166,19 @@ begin
|
||||
OldReqMade := FProccesReuestsMade;
|
||||
|
||||
case FProcessState of
|
||||
gtpsInitial: ProcessInitial;
|
||||
gtpsInitialSimple: ProcessInitialSimple;
|
||||
gtpsSimplePointer: ProcessSimplePointer;
|
||||
gtpsClass: ProcessClass;
|
||||
gtpsClassAutoCast: ProcessClassAutoCast;
|
||||
gtpsClassPointer: ProcessClassPointer;
|
||||
gtpsClassAncestor: ProcessClassAncestor;
|
||||
gtpsArray: ProcessArray;
|
||||
gtpsEvalExpr: EvaluateExpression;
|
||||
gtpsEvalExprRepeated: EvaluateExpressionRepeated;
|
||||
gtpsEvalExprArray: EvaluateExpressionArray;
|
||||
gtpsEvalExprDynArray: EvaluateExpressionDynArray;
|
||||
gtpsInitial: ProcessInitial;
|
||||
gtpsInitialSimple: ProcessInitialSimple;
|
||||
gtpsSimplePointer: ProcessSimplePointer;
|
||||
gtpsClass: ProcessClass;
|
||||
gtpsClassAutoCast: ProcessClassAutoCast;
|
||||
gtpsClassPointer: ProcessClassPointer;
|
||||
gtpsFinishProcessClass: FinishProcessClass;
|
||||
gtpsClassAncestor: ProcessClassAncestor;
|
||||
gtpsArray: ProcessArray;
|
||||
gtpsEvalExpr: EvaluateExpression;
|
||||
gtpsEvalExprRepeated: EvaluateExpressionRepeated;
|
||||
gtpsEvalExprArray: EvaluateExpressionArray;
|
||||
gtpsEvalExprDynArray: EvaluateExpressionDynArray;
|
||||
gtpsEvalExprDynArrayGetData: EvaluateExpressionDynArrayGetData;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user