efl ui focus - fix coverity complaints about derfer before null check

indeed there was a child cnull check after dereferencing the child...
so check completely. fix CID 1379925
This commit is contained in:
Carsten Haitzler 2017-09-28 12:29:46 +09:00
parent 49df80aa6f
commit 1dcac1853d
1 changed files with 7 additions and 4 deletions

View File

@ -1477,13 +1477,16 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_logical_end(Eo *obj EINA_UNUSED,
//we need to return the most lower right element
while(T(child).children && !child->redirect_manager)
while ((child) && (T(child).children) && (!child->redirect_manager))
child = eina_list_last_data_get(T(child).children);
while (child->type != NODE_TYPE_NORMAL && !child->redirect_manager)
while ((child) && (child->type != NODE_TYPE_NORMAL) && (!child->redirect_manager))
child = _prev(child);
ret.is_regular_end = child->type == NODE_TYPE_NORMAL;
ret.element = child ? child->focusable : NULL;
if (child)
{
ret.is_regular_end = child->type == NODE_TYPE_NORMAL;
ret.element = child ? child->focusable : NULL;
}
return ret;
}