Browse Source

* check if owner.defowner is valid when checking private/protected

peter 22 years ago
parent
commit
af3946938a
1 changed files with 7 additions and 1 deletions
  1. 7 1
      compiler/symsym.pas

+ 7 - 1
compiler/symsym.pas

@@ -588,6 +588,7 @@ implementation
         if (sp_protected in symoptions) and
         if (sp_protected in symoptions) and
            (
            (
             (
             (
+             assigned(owner.defowner) and
              (owner.defowner.owner.symtabletype in [globalsymtable,staticsymtable]) and
              (owner.defowner.owner.symtabletype in [globalsymtable,staticsymtable]) and
              (owner.defowner.owner.unitid<>0)
              (owner.defowner.owner.unitid<>0)
             ) and
             ) and
@@ -610,6 +611,7 @@ implementation
         { private symbols are allowed when we are in the same
         { private symbols are allowed when we are in the same
           module as they are defined }
           module as they are defined }
         if (sp_private in symoptions) and
         if (sp_private in symoptions) and
+           assigned(owner.defowner) and
            (owner.defowner.owner.symtabletype in [globalsymtable,staticsymtable]) and
            (owner.defowner.owner.symtabletype in [globalsymtable,staticsymtable]) and
            (owner.defowner.owner.unitid<>0) then
            (owner.defowner.owner.unitid<>0) then
           exit;
           exit;
@@ -619,6 +621,7 @@ implementation
         if (sp_protected in symoptions) and
         if (sp_protected in symoptions) and
            (
            (
             (
             (
+             assigned(owner.defowner) and
              (owner.defowner.owner.symtabletype in [globalsymtable,staticsymtable]) and
              (owner.defowner.owner.symtabletype in [globalsymtable,staticsymtable]) and
              (owner.defowner.owner.unitid<>0)
              (owner.defowner.owner.unitid<>0)
             ) and
             ) and
@@ -2665,7 +2668,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.111  2003-07-04 22:41:41  pierre
+  Revision 1.112  2003-07-05 22:41:59  peter
+    * check if owner.defowner is valid when checking private/protected
+
+  Revision 1.111  2003/07/04 22:41:41  pierre
    * single threadvar debugging support
    * single threadvar debugging support
 
 
   Revision 1.110  2003/06/13 21:19:31  peter
   Revision 1.110  2003/06/13 21:19:31  peter