ide/debugger: Watches: removed need for a Code Editor to evaluate expressions
authorJerome St-Louis <jerome@ecere.com>
Sat, 3 May 2014 23:14:59 +0000 (19:14 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sat, 3 May 2014 23:14:59 +0000 (19:14 -0400)
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/libec/src/pass15.ec
ide/src/debugger/Debugger.ec

index 916dfda..f96a0d7 100644 (file)
@@ -13455,7 +13455,7 @@ case 0:
 {
 struct Identifier * id = exp->identifier;
 
-if(!id)
+if(!id || !topContext)
 return ;
 if(id->_class && id->_class->name)
 {
index 12848d5..b1c3a55 100644 (file)
@@ -7263,7 +7263,7 @@ void ProcessExpressionType(Expression exp)
       case identifierExp:
       {
          Identifier id = exp.identifier;
-         if(!id) return;
+         if(!id || !topContext) return;
 
          // DOING THIS LATER NOW...
          if(id._class && id._class.name)
index 6eb02ff..e129fa3 100644 (file)
@@ -2744,13 +2744,11 @@ class Debugger
                expString[0] = 0;
                PrintExpression(exp, expString);
 
-               if(GetPrivateModule())
-               {
-                  SetThisClass(null);
-                  if(codeEditor && activeFrame)
-                     DebugFindCtxTree(codeEditor.ast, activeFrame.line, 0);
-                  ProcessExpressionType(exp);
-               }
+               SetThisClass(null);
+               if(codeEditor && activeFrame)
+                  DebugFindCtxTree(codeEditor.ast, activeFrame.line, 0);
+               ProcessExpressionType(exp);
+
                wh.type = exp.expType;
                if(wh.type)
                   wh.type.refCount++;