diff options
Diffstat (limited to 'milkway/mw-object.h')
-rw-r--r-- | milkway/mw-object.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/milkway/mw-object.h b/milkway/mw-object.h index 22bef62..de268ba 100644 --- a/milkway/mw-object.h +++ b/milkway/mw-object.h @@ -54,12 +54,13 @@ struct mw_object { #define MW_SUPER_TYPE_CAST(self, type) ((type*)MW_SUPER_TYPE(self)) #define MW_SUPER_TYPE_BASE(self, base) ((mw_object_type_t*)mw_object_get_super_type(self, base)) #define MW_SUPER_TYPE_MTH(self, base, type, mth) ((type*)MW_SUPER_TYPE_BASE(self, base))->mth -#define MW_SUPER_FINALIZE(self, base) MW_SUPER_TYPE_MTH(self, base, mw_object_type_t, finalize) +#define MW_SUPER_FINALIZE(self, base) MW_SUPER_TYPE_MTH(self, base, mw_object_type_t, finalize) +#define MW_SUPER_DISPOSE(self, base) MW_SUPER_TYPE_MTH(self, base, mw_object_type_t, dispose) #define MW_TYPE_SUPER(type) ((mw_object_type_t*)(((mw_object_type_t*)(type))->parent)) #define MW_PRIV_ALIGN(size) ((size + 15) & ~15) -#define MW_GET_PRIV(self, type) ((char*)self + NW_TYPE(self)->size + \ - (mw_object_type_t*)(type)->priv_offset) +#define MW_GET_PRIV(self, type) ((void*)((char*)self + MW_TYPE(self)->size + \ + (mw_object_type_t*)(type)->priv_offset)) typedef void (*mw_object_type_init_func_t)(mw_object_type_t*); |