elm_gengrid: force the item to be realized once we try to move focus
authorMarcel Hollerbach <marcel@osg.samsung.com>
Thu, 19 Oct 2017 09:52:26 +0000 (11:52 +0200)
committerMarcel Hollerbach <marcel@osg.samsung.com>
Thu, 19 Oct 2017 13:20:59 +0000 (15:20 +0200)
So the widget is there, once we try to register it

src/lib/elementary/elm_gengrid.c
src/lib/elementary/elm_gengrid_item.eo

index d3a0281..e7c5c04 100644 (file)
@@ -5711,6 +5711,14 @@ _elm_gengrid_elm_widget_focus_state_apply(Eo *obj, Elm_Gengrid_Data *pd EINA_UNU
    return elm_obj_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj);
 }
 
+EOLIAN static void
+_elm_gengrid_item_efl_ui_focus_object_prepare_logical(Eo *obj, Elm_Gen_Item *pd)
+{
+   efl_ui_focus_object_prepare_logical(efl_super(obj, ELM_GENGRID_ITEM_CLASS));
+   _item_realize(pd);
+}
+
+
 /* Standard widget overrides */
 
 ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_gengrid, Elm_Gengrid_Data)
index cf0898c..6bdaad6 100644 (file)
@@ -255,5 +255,6 @@ class Elm.Gengrid.Item(Elm.Widget.Item, Efl.Ui.Focus.Object)
            Elm.Widget.Item.cursor_unset;
            Efl.Access.name { get; }
            Efl.Access.state_set { get; }
+           Efl.Ui.Focus.Object.prepare_logical;
       }
 }