diff --git a/components/fpdebug/fpwatchresultdata.pas b/components/fpdebug/fpwatchresultdata.pas index 4cf5d27d56..aee81fa41e 100644 --- a/components/fpdebug/fpwatchresultdata.pas +++ b/components/fpdebug/fpwatchresultdata.pas @@ -617,7 +617,7 @@ begin FHasEmbeddedPointer := True else if FHasEmbeddedPointer and (FLastValueKind <> skPointer) then - exit; + exit(True); // not an error // Allow only one level, after an embedded pointer (pointer nested in other data-type) end; @@ -683,10 +683,10 @@ function TFpWatchResultConvertor.DoWritePointerWatchResultData( ): Boolean; begin if FRecurseAddrList.IndexOf(AnAddr) >= 0 then - exit; + exit(True); if AnAddr <> 0 then FRecurseAddrList.Add(AnAddr); - DoWriteWatchResultData(AnFpValue, AnResData); + Result := DoWriteWatchResultData(AnFpValue, AnResData); if AnAddr <> 0 then FRecurseAddrList.Remove(AnAddr); end;