eo2: _eo2_api_desc_get: walks in mro not in klass->parent

This commit is contained in:
Jérémy Zurcher 2013-08-14 13:48:54 +02:00 committed by Tom Hacohen
parent 94adc97efe
commit 2af0764eeb
1 changed files with 8 additions and 4 deletions

View File

@ -490,14 +490,18 @@ static inline const Eo2_Op_Description *
_eo2_api_desc_get(const void *api_func, const _Eo_Class *klass)
{
int imin, imax, imid;
const _Eo_Class *cur_klass;
const _Eo_Class **kls_itr = NULL;
Eo2_Op_Description *op_desc;
Eo2_Op_Description *op_descs;
while (klass)
kls_itr = klass->mro;
while (*kls_itr)
{
cur_klass = *kls_itr;
imin = 0;
imax = klass->desc->ops.count - 1;
op_descs = klass->desc->ops.descs2;
imax = cur_klass->desc->ops.count - 1;
op_descs = cur_klass->desc->ops.descs2;
while (imax >= imin)
{
@ -512,7 +516,7 @@ _eo2_api_desc_get(const void *api_func, const _Eo_Class *klass)
return op_desc;
}
klass = klass->parent;
kls_itr++;
}
return NULL;