when insert a new item before/after an item, the relative item should not be NULL.
this patch fixes naviframe, gengrid, genlist, list, and toolbar.
@fix
Change-Id: Ic7cf2300cf0247749587eda2b798756fc19c295f
Origin: upstream
{
Elm_Object_Item *eo_it;
Elm_Naviframe_Item_Data *prev_it = NULL;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_before, NULL);
ELM_NAVIFRAME_ITEM_DATA_GET(eo_before, before);
ELM_NAVIFRAME_ITEM_CHECK_OR_RETURN(before, NULL);
Elm_Object_Item *eo_item;
Eina_Bool top_inserted = EINA_FALSE;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_after, NULL);
ELM_NAVIFRAME_ITEM_DATA_GET(eo_after, after);
ELM_NAVIFRAME_ITEM_CHECK_OR_RETURN(after, NULL);
{
Elm_Gen_Item *it;
Eina_Inlist *tmp;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_relative, NULL);
ELM_GENGRID_ITEM_DATA_GET(eo_relative, relative);
ELM_GENGRID_ITEM_CHECK_OR_RETURN(relative, NULL);
{
Elm_Gen_Item *it;
Eina_Inlist *tmp;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_relative, NULL);
ELM_GENGRID_ITEM_DATA_GET(eo_relative, relative);
ELM_GENGRID_ITEM_CHECK_OR_RETURN(relative, NULL);
EOLIAN static Elm_Object_Item*
_elm_genlist_item_insert_after(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *eo_parent, Elm_Object_Item *eo_after, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_after, NULL);
ELM_GENLIST_ITEM_DATA_GET(eo_after, after);
Elm_Gen_Item *it;
EOLIAN static Elm_Object_Item*
_elm_genlist_item_insert_before(Eo *obj, Elm_Genlist_Data *sd, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *eo_parent, Elm_Object_Item *eo_before, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_before, NULL);
ELM_GENLIST_ITEM_DATA_GET(eo_before, before);
Elm_Gen_Item *it;
_elm_list_item_insert_before(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *eo_before, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data)
{
Elm_List_Item_Data *it;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_before, NULL);
ELM_LIST_ITEM_DATA_GET(eo_before, before_it);
ELM_LIST_ITEM_CHECK_OR_RETURN(before_it, NULL);
_elm_list_item_insert_after(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *eo_after, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data)
{
Elm_List_Item_Data *it;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_after, NULL);
ELM_LIST_ITEM_DATA_GET(eo_after, after_it);
ELM_LIST_ITEM_CHECK_OR_RETURN(after_it, NULL);
Elm_Toolbar_Item_Data *it;
double scale;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_before, NULL);
ELM_TOOLBAR_ITEM_DATA_GET(eo_before, _before);
ELM_TOOLBAR_ITEM_CHECK_OR_RETURN(_before, NULL);
Elm_Toolbar_Item_Data *it;
double scale;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eo_after, NULL);
ELM_TOOLBAR_ITEM_DATA_GET(eo_after, _after);
ELM_TOOLBAR_ITEM_CHECK_OR_RETURN(_after, NULL);