From: Robert Bradshaw Date: Tue, 8 Apr 2008 08:25:09 +0000 (-0700) Subject: Fix cdef extern classes X-Git-Tag: 0.9.6.14~25 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e816f827c8a3219681d4b1bcd718939bba4d4db7;p=cython.git Fix cdef extern classes --- diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index 542cf083..16f223c5 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -27,9 +27,10 @@ def recurse_vtab_check_inheritance(entry, b, dict): return False if base.type.base_type.vtabstruct_cname == b.type.vtabstruct_cname: return True - if base.type.base_type.typedef_flag: + try: + base = dict[base.type.base_type.vtabstruct_cname] + except KeyError: return True - base = dict[base.type.base_type.vtabstruct_cname] return False def recurse_vtabslot_check_inheritance(entry, b, dict): @@ -39,9 +40,10 @@ def recurse_vtabslot_check_inheritance(entry, b, dict): return False if base.type.base_type.objstruct_cname == b.type.objstruct_cname: return True - if base.type.base_type.typedef_flag: + try: + base = dict[base.type.base_type.objstruct_cname] + except KeyError: return True - base = dict[base.type.base_type.objstruct_cname] return False