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