raster pushed a commit to branch master.

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

commit a420f494dc2bb420f0c6851002f3b8e704abd330
Author: chinmaya <chinmaya@chinmaya-VirtualBox.(none)>
Date:   Mon May 26 15:45:54 2014 +0900

    Genlist: Focus does not move, if it is set on item content objects.
    
    Summary:
    If focus is set on item content object, it's treated as a
             different object which results the focus deadlock. So, every
             time whenever focus sets on item content object, we need to
             unset and set the focus on genlist object. Thanks to Seoz for
             the idea.
    
    Test Plan: elementary_test -to "genlist focus"
    
    Reviewers: seoz, SanghyeonLee, eagleeye
    
    CC: seoz
    
    Differential Revision: https://phab.enlightenment.org/D891
---
 src/lib/elm_genlist.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 640b618..67f3749 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -5507,6 +5507,21 @@ _item_select(Elm_Gen_Item *it)
         else
           sd->last_selected_item = (Elm_Object_Item *)it;
      }
+
+   if (!(sd->focus_on_selection_enabled || 
_elm_config->item_select_on_focus_disable))
+     {
+        Evas_Object *swallow_obj;
+        Eina_List *l;
+        EINA_LIST_FOREACH(it->content_objs, l, swallow_obj)
+          {
+             if (elm_object_focus_get(swallow_obj))
+               {
+                  elm_object_focus_set( obj, EINA_FALSE);
+                  elm_object_focus_set( obj, EINA_TRUE);
+                  break;
+               }
+          }
+     }
    evas_object_unref(obj);
 }
 

-- 


Reply via email to