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,13 +280,13 @@ | ||
280 | * | 280 | * |
281 | * \see TR_CALL | 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 | } while(0) | 290 | } while(0) |
291 | 291 | ||
292 | /* | 292 | /* |
@@ -295,13 +295,13 @@ | @@ -295,13 +295,13 @@ | ||
295 | * | 295 | * |
296 | * \see TR_RETCALL | 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 | } while(0) | 305 | } while(0) |
306 | 306 | ||
307 | 307 |
Please
register
or
login
to post a comment