forked from enlightenment/efl
eo2: _eo2_api_desc_get: walks in mro not in klass->parent
This commit is contained in:
parent
94adc97efe
commit
2af0764eeb
|
@ -490,14 +490,18 @@ static inline const Eo2_Op_Description *
|
||||||
_eo2_api_desc_get(const void *api_func, const _Eo_Class *klass)
|
_eo2_api_desc_get(const void *api_func, const _Eo_Class *klass)
|
||||||
{
|
{
|
||||||
int imin, imax, imid;
|
int imin, imax, imid;
|
||||||
|
const _Eo_Class *cur_klass;
|
||||||
|
const _Eo_Class **kls_itr = NULL;
|
||||||
Eo2_Op_Description *op_desc;
|
Eo2_Op_Description *op_desc;
|
||||||
Eo2_Op_Description *op_descs;
|
Eo2_Op_Description *op_descs;
|
||||||
|
|
||||||
while (klass)
|
kls_itr = klass->mro;
|
||||||
|
while (*kls_itr)
|
||||||
{
|
{
|
||||||
|
cur_klass = *kls_itr;
|
||||||
imin = 0;
|
imin = 0;
|
||||||
imax = klass->desc->ops.count - 1;
|
imax = cur_klass->desc->ops.count - 1;
|
||||||
op_descs = klass->desc->ops.descs2;
|
op_descs = cur_klass->desc->ops.descs2;
|
||||||
|
|
||||||
while (imax >= imin)
|
while (imax >= imin)
|
||||||
{
|
{
|
||||||
|
@ -512,7 +516,7 @@ _eo2_api_desc_get(const void *api_func, const _Eo_Class *klass)
|
||||||
return op_desc;
|
return op_desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
klass = klass->parent;
|
kls_itr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue