jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=2ad850e99769c6cc0eb002a497bcfb4432132fa8

commit 2ad850e99769c6cc0eb002a497bcfb4432132fa8
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Mon Feb 1 11:27:56 2016 +0900

    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
---
 src/lib/elm_gengrid.c | 2 +-
 src/lib/elm_genlist.c | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 81b1ce5..034236a 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -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");
 
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 2f57dea..538e954 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -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");
 

-- 


Reply via email to