elm: add safety check
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
This commit is contained in:
parent
f3025cf2ed
commit
50127bc4df
|
@ -1570,6 +1570,8 @@ _elm_naviframe_item_insert_before(Eo *obj, Elm_Naviframe_Data *sd, Elm_Object_It
|
|||
{
|
||||
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);
|
||||
|
@ -1604,6 +1606,7 @@ _elm_naviframe_item_insert_after(Eo *obj, Elm_Naviframe_Data *sd, Elm_Object_Ite
|
|||
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);
|
||||
|
|
|
@ -3942,6 +3942,7 @@ _elm_gengrid_item_insert_before(Eo *obj, Elm_Gengrid_Data *sd, const Elm_Gengrid
|
|||
{
|
||||
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);
|
||||
|
@ -3969,6 +3970,7 @@ _elm_gengrid_item_insert_after(Eo *obj, Elm_Gengrid_Data *sd, const Elm_Gengrid_
|
|||
{
|
||||
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);
|
||||
|
|
|
@ -6077,6 +6077,7 @@ _elm_genlist_item_prepend(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const Elm_G
|
|||
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;
|
||||
|
||||
|
@ -6126,6 +6127,7 @@ _elm_genlist_item_insert_after(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const
|
|||
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;
|
||||
|
||||
|
|
|
@ -2846,6 +2846,7 @@ EOLIAN static Elm_Object_Item*
|
|||
_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);
|
||||
|
@ -2867,6 +2868,7 @@ EOLIAN static Elm_Object_Item*
|
|||
_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);
|
||||
|
|
|
@ -2987,6 +2987,7 @@ _elm_toolbar_item_insert_before(Eo *obj, Elm_Toolbar_Data *sd, Elm_Object_Item *
|
|||
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);
|
||||
|
||||
|
@ -3010,6 +3011,7 @@ _elm_toolbar_item_insert_after(Eo *obj, Elm_Toolbar_Data *sd, Elm_Object_Item *e
|
|||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue