Commit d28be8fbe8ab2b8610debbc87f608977f53ab6ef
1 parent
7a1c975c
fix PARENTCALL. We need the current class context to find the right parent.
Showing
1 changed file
with
14 additions
and
14 deletions
... | ... | @@ -280,13 +280,13 @@ |
280 | 280 | * |
281 | 281 | * \see TR_CALL |
282 | 282 | */ |
283 | -#define TR_PARENTCALL(object,_iface,method,...) \ | |
284 | - do { \ | |
285 | - struct i_##_iface * iface; \ | |
286 | - TR_class_ptr pc_class = TR_GET_CLASS((object)); \ | |
287 | - assert(TR_HAS_PARENT(pc_class)); \ | |
288 | - _TR_CALL(pc_class->parent, _iface, method); \ | |
289 | - iface->method(object, ##__VA_ARGS__); \ | |
283 | +#define TR_PARENTCALL(class, object,_iface,method,...) \ | |
284 | + do { \ | |
285 | + struct i_##_iface * iface; \ | |
286 | + TR_class_ptr pc_class = TR_CLASS_BY_NAME(class); \ | |
287 | + assert(TR_HAS_PARENT(pc_class)); \ | |
288 | + _TR_CALL(pc_class->parent, _iface, method); \ | |
289 | + iface->method(object, ##__VA_ARGS__); \ | |
290 | 290 | } while(0) |
291 | 291 | |
292 | 292 | /* |
... | ... | @@ -295,13 +295,13 @@ |
295 | 295 | * |
296 | 296 | * \see TR_RETCALL |
297 | 297 | */ |
298 | -#define TR_PARENTRETCALL(object,_iface,method,ret,...) \ | |
299 | - do { \ | |
300 | - struct i_##_iface * iface; \ | |
301 | - TR_class_ptr pc_class = TR_GET_CLASS((object)); \ | |
302 | - assert(TR_HAS_PARENT(pc_class)); \ | |
303 | - _TR_CALL(pc_class->parent, _iface, method); \ | |
304 | - ret = iface->method(object, ##__VA_ARGS__); \ | |
298 | +#define TR_PARENTRETCALL(class, object,_iface,method,ret,...) \ | |
299 | + do { \ | |
300 | + struct i_##_iface * iface; \ | |
301 | + TR_class_ptr pc_class = TR_CLASS_BY_NAME(class); \ | |
302 | + assert(TR_HAS_PARENT(pc_class)); \ | |
303 | + _TR_CALL(pc_class->parent, _iface, method); \ | |
304 | + ret = iface->method(object, ##__VA_ARGS__); \ | |
305 | 305 | } while(0) |
306 | 306 | |
307 | 307 | ... | ... |
Please
register
or
login
to post a comment