compiler/libec: (#293) Fixed ecs crash on remote class using non-existent type
authorJerome St-Louis <jerome@ecere.com>
Sat, 3 May 2014 05:55:07 +0000 (01:55 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sat, 3 May 2014 06:00:36 +0000 (02:00 -0400)
compiler/bootstrap/libec/bootstrap/pass16.c
compiler/libec/src/pass16.ec

index 2502ef6..5d09fbb 100644 (file)
@@ -1908,7 +1908,7 @@ classSym->id = curExternal->symbol ? curExternal->symbol->idCode : 0;
 classSym->idCode = classSym->id;
 }
 }
-else if(classSym && curExternal->symbol->idCode < classSym->id)
+else if(classSym && curExternal && curExternal->symbol->idCode < classSym->id)
 {
 if(classSym->structExternal)
 DeclareStruct(classSym->string, classSym->registered && classSym->registered->type == 5);
index dcfad4b..b26e88d 100644 (file)
@@ -748,7 +748,7 @@ public void DeclareClass(Symbol classSym, char * className)
          classSym.idCode = classSym.id;
       }
    }
-   else if(classSym && curExternal.symbol.idCode < classSym.id)
+   else if(classSym && curExternal && curExternal.symbol.idCode < classSym.id)
    //else if(curExternal.symbol.id <= classSym.id)
    {
       // DANGER: (Moved here)