Browse Source

interrogate: fix to allow pointers to forcetyped classes

rdb 9 years ago
parent
commit
32377cb618
1 changed files with 3 additions and 1 deletions
  1. 3 1
      dtool/src/interrogate/interfaceMakerPythonNative.cxx

+ 3 - 1
dtool/src/interrogate/interfaceMakerPythonNative.cxx

@@ -6142,7 +6142,7 @@ pack_return_value(ostream &out, int indent_level, FunctionRemap *remap,
 
         write_python_instance(out, indent_level, return_expr, owns_memory, itype, is_const);
       }
-    } else if (TypeManager::is_struct(orig_type->as_pointer_type()->_pointing_at)) {
+    } else if (TypeManager::is_struct(orig_type->remove_pointer())) {
       TypeIndex type_index = builder.get_type(TypeManager::unwrap(TypeManager::resolve_type(orig_type)),false);
       const InterrogateType &itype = idb->get_type(type_index);
 
@@ -6749,6 +6749,8 @@ is_cpp_type_legal(CPPType *in_ctype) {
     return true;
   } else if (TypeManager::is_pointer_to_simple(type)) {
     return true;
+  } else if (builder.in_forcetype(type->get_local_name(&parser))) {
+    return true;
   } else if (TypeManager::is_exported(type)) {
     return true;
   } else if (TypeManager::is_pointer_to_PyObject(in_ctype)) {