From 2a313be63a1b91397702588618a958e8a21bdb4d Mon Sep 17 00:00:00 2001 From: martin Date: Sat, 18 Dec 2010 01:51:35 +0000 Subject: [PATCH] DBG, IDE: Improved hint / removed old class workaround, gdbmi now returns classes correct. git-svn-id: trunk@28752 - --- ide/main.pp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ide/main.pp b/ide/main.pp index 76498777e1..d103ef0def 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -15577,13 +15577,19 @@ begin if not DebugBoss.Evaluate(Expression, DebugEval, DBGType) or (DebugEval = '') then DebugEval := '???'; // deference a pointer - maybe it is a class - if Assigned(DBGType) and (DBGType.Kind in [skPointer, skClass]) then + if Assigned(DBGType) and (DBGType.Kind in [skPointer]) and + not( StringCase(Lowercase(DBGType.TypeName), ['char', 'character', 'ansistring']) in [0..2] ) + then begin if DBGType.Value.AsPointer <> nil then begin if DebugBoss.Evaluate(Expression + '^', DebugEvalDerefer, DBGTypeDerefer) then begin - if Assigned(DBGTypeDerefer) and (DBGTypeDerefer.Kind = skClass) then + if Assigned(DBGTypeDerefer) and + ( (DBGTypeDerefer.Kind <> skPointer) or + (StringCase(Lowercase(DBGTypeDerefer.TypeName), ['char', 'character', 'ansistring']) in [0..2]) + ) + then DebugEval := DebugEval + ' = ' + DebugEvalDerefer; end; end;