naRef naNewGhost(naContext c, naGhostType* type, void* ptr)
{
- naRef ghost = naNew(c, T_GHOST);
+ naRef ghost;
+ // ensure 'simple' ghost users don't see garbage for these fields
+ type->get_member = 0;
+ type->set_member = 0;
+
+ ghost = naNew(c, T_GHOST);
PTR(ghost).ghost->gtype = type;
PTR(ghost).ghost->ptr = ptr;
return ghost;
}
+naRef naNewGhost2(naContext c, naGhostType* t, void* ptr)
+{
+ naRef ghost = naNew(c, T_GHOST);
+ PTR(ghost).ghost->gtype = t;
+ PTR(ghost).ghost->ptr = ptr;
+ return ghost;
+}
+
naGhostType* naGhost_type(naRef ghost)
{
if(!IS_GHOST(ghost)) return 0;