From 4a17d26613412bbf21e6f80fdd2826003c3fd3fc Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 10 Dec 2009 08:19:12 +0000 Subject: [PATCH] debugger: fix class dereferencing after r23058 #ace509e462 git-svn-id: trunk@23060 - --- ide/main.pp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ide/main.pp b/ide/main.pp index 2024926bd1..19fc72139a 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -14056,12 +14056,16 @@ begin DBGTypeDerefer:=nil; if not DebugBoss.Evaluate(Expression, DebugEval, DBGType) or (DebugEval = '') then DebugEval := '???'; - if Assigned(DBGType) and (DBGType.Kind=skClass) then + // deference a pointer - maybe it is a class + if Assigned(DBGType) and (DBGType.Kind in [skPointer, skClass]) then begin if DBGType.Value.AsPointer <> nil then begin if DebugBoss.Evaluate(Expression + '^', DebugEvalDerefer, DBGTypeDerefer) then - DebugEval := DebugEval + ' = ' + DebugEvalDerefer; + begin + if Assigned(DBGTypeDerefer) and (DBGTypeDerefer.Kind = skClass) then + DebugEval := DebugEval + ' = ' + DebugEvalDerefer; + end; end; end; FreeAndNil(DBGType);