From: SangHyeon Jade Lee Date: Mon, 23 Jul 2018 08:02:09 +0000 (+0900) Subject: genlist: check item validation in GENLIST_ITEM_CHECK X-Git-Tag: submit/tizen_4.0/20190109.062201~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=332cc12ca6a43c5d34c61fbc9ea4e3767bb8992f;p=platform%2Fupstream%2Felementary.git genlist: check item validation in GENLIST_ITEM_CHECK Change-Id: Ifdb6264ef10514476e1124bca4eafded07a00781 Signed-off-by: SangHyeon Jade Lee --- diff --git a/src/lib/elm_widget_genlist.h b/src/lib/elm_widget_genlist.h index f2f3d6fe8..82bf8b0a8 100644 --- a/src/lib/elm_widget_genlist.h +++ b/src/lib/elm_widget_genlist.h @@ -356,14 +356,17 @@ struct _Elm_Genlist_Filter return #define ELM_GENLIST_ITEM_CHECK(it) \ + if (!it) return; \ ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, ); \ ELM_GENLIST_CHECK(it->base->widget); #define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...) \ + if (!it) return __VA_ARGS__; \ ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \ ELM_GENLIST_CHECK(it->base->widget) __VA_ARGS__; #define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label) \ + if (!it) goto label; \ ELM_WIDGET_ITEM_CHECK_OR_GOTO(it->base, label); \ if (!it->base->widget || !eo_isa \ ((it->base->widget), ELM_GENLIST_CLASS)) goto label; diff --git a/src/mobile_lib/elm_widget_genlist.h b/src/mobile_lib/elm_widget_genlist.h index e10d3b0d1..c72a05a09 100644 --- a/src/mobile_lib/elm_widget_genlist.h +++ b/src/mobile_lib/elm_widget_genlist.h @@ -393,14 +393,17 @@ struct _Elm_Genlist_Filter return #define ELM_GENLIST_ITEM_CHECK(it) \ + if (!it) return; \ ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, ); \ ELM_GENLIST_CHECK(it->base->widget); #define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...) \ + if (!it) return __VA_ARGS__; \ ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \ ELM_GENLIST_CHECK(it->base->widget) __VA_ARGS__; #define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label) \ + if (!it) goto label; \ ELM_WIDGET_ITEM_CHECK_OR_GOTO(it->base, label); \ if (!it->base->widget || !eo_isa \ ((it->base->widget), ELM_GENLIST_CLASS)) goto label;