From: SangHyeon Jade Lee Date: Mon, 23 Jul 2018 07:49:20 +0000 (+0900) Subject: genlist: check item validation in ELM_GENLIST_ITEM_CHECK X-Git-Tag: submit/sandbox/upgrade/efl120/20180919.042345~348 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=63ecfc902094f771c4b05127d3b6948af5b026d2;p=platform%2Fupstream%2Fefl.git genlist: check item validation in ELM_GENLIST_ITEM_CHECK Change-Id: Ic29a036858cd0c82e2185c9d457e97d912af0e21 --- diff --git a/src/lib/elementary/elm_widget_genlist.h b/src/lib/elementary/elm_widget_genlist.h index 6afadcc..4499947 100644 --- a/src/lib/elementary/elm_widget_genlist.h +++ b/src/lib/elementary/elm_widget_genlist.h @@ -371,14 +371,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 || !efl_isa \ ((it->base->widget), ELM_GENLIST_CLASS)) goto label; diff --git a/src/lib/elementary_tizen/elm_widget_genlist.h b/src/lib/elementary_tizen/elm_widget_genlist.h index 3f4209d..9fc0f98 100644 --- a/src/lib/elementary_tizen/elm_widget_genlist.h +++ b/src/lib/elementary_tizen/elm_widget_genlist.h @@ -488,14 +488,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 || !efl_isa \ ((it->base->widget), ELM_GENLIST_CLASS)) goto label;