genlist/gengrid: Fix focus hilight error

The error was due to an invalid cast between real data and Eo ptr.
Thanks @DaveMDS for reporting.

Fixes T3122

@fix
This commit is contained in:
Jean-Philippe Andre 2016-02-01 11:27:56 +09:00
parent 0f4dc0b222
commit a497b4d225
2 changed files with 5 additions and 3 deletions

View File

@ -209,7 +209,7 @@ _item_cache_add(Elm_Gen_Item *it)
edje_object_signal_emit(itc->base_view, "elm,state,unselected", "elm");
if (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get()))
edje_object_signal_emit(itc->base_view, "elm,state,enabled", "elm");
if (it == (Elm_Gen_Item *)sd->focused_item &&
if ((EO_OBJ(it) == sd->focused_item) &&
(elm_widget_focus_highlight_enabled_get(obj) || _elm_config->win_auto_focus_enable))
edje_object_signal_emit(itc->base_view, "elm,state,unfocused", "elm");

View File

@ -1274,6 +1274,8 @@ static void
_elm_genlist_item_state_update(Elm_Gen_Item *it)
{
Eina_Bool tmp;
ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
if (it->selected)
{
edje_object_signal_emit(VIEW(it), SIGNAL_SELECTED, "elm");
@ -1295,7 +1297,7 @@ _elm_genlist_item_state_update(Elm_Gen_Item *it)
edje_object_signal_emit
(it->deco_all_view, SIGNAL_EXPANDED, "elm");
}
if (it == (Elm_Gen_Item *)GL_IT(it)->wsd->focused_item &&
if ((EO_OBJ(it) == sd->focused_item) &&
(elm_widget_focus_highlight_enabled_get(WIDGET(it)) || _elm_config->win_auto_focus_enable))
edje_object_signal_emit(VIEW(it), SIGNAL_FOCUSED, "elm");
}
@ -1555,7 +1557,7 @@ _item_cache_add(Elm_Gen_Item *it)
edje_object_signal_emit(itc->base_view, SIGNAL_UNSELECTED, "elm");
if (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get()))
edje_object_signal_emit(itc->base_view, SIGNAL_ENABLED, "elm");
if (it == (Elm_Gen_Item *)sd->focused_item &&
if ((EO_OBJ(it) == sd->focused_item) &&
(elm_widget_focus_highlight_enabled_get(obj) || _elm_config->win_auto_focus_enable))
edje_object_signal_emit(itc->base_view, SIGNAL_UNFOCUSED, "elm");