Hi, 2015-01-19 3:04 GMT+01:00, Tanibata, Nobuhiko (ADITJ/SWG) <[email protected]>: > Hi, > > I basically agree this solution. > When I observe other code in Weston. There are two patterns when error > happens in Weston. > - just output error by Weston_log. And then return from the method.
Please, note that create_layout_transition() is already logging this memory allocation error. > - use wl_resource_post_error and then disconnect client. > Does somebody know which one is better for memory allocate error? > > BR, > Nobuhiko Tanibata > > >> -----Original Message----- >> From: wayland-devel >> [mailto:[email protected]] On Behalf Of >> Carlos Olmedo Escobar >> Sent: Sunday, January 18, 2015 3:43 AM >> To: [email protected] >> Cc: Carlos Olmedo Escobar >> Subject: [PATCH weston] ivi-shell-transition: check >> create_layout_transition() return value. >> >> Signed-off-by: Carlos Olmedo Escobar <[email protected]> >> --- >> ivi-shell/ivi-layout-transition.c | 16 ++++++++++++---- >> 1 file changed, 12 insertions(+), 4 deletions(-) >> >> diff --git a/ivi-shell/ivi-layout-transition.c >> b/ivi-shell/ivi-layout-transition.c >> index 1e9ee23..904e8d6 100644 >> --- a/ivi-shell/ivi-layout-transition.c >> +++ b/ivi-shell/ivi-layout-transition.c >> @@ -328,8 +328,10 @@ create_move_resize_view_transition( >> uint32_t duration) >> { >> struct ivi_layout_transition *transition = >> create_layout_transition(); >> - struct move_resize_view_data *data = malloc(sizeof(*data)); >> + if (transition == NULL) >> + return NULL; >> >> + struct move_resize_view_data *data = malloc(sizeof(*data)); >> if (data == NULL) { >> weston_log("%s: memory allocation fails\n", __func__); >> return NULL; >> @@ -451,8 +453,10 @@ create_fade_view_transition( >> uint32_t duration) >> { >> struct ivi_layout_transition *transition = >> create_layout_transition(); >> - struct fade_view_data *data = malloc(sizeof(*data)); >> + if (transition == NULL) >> + return NULL; >> >> + struct fade_view_data *data = malloc(sizeof(*data)); >> if (data == NULL) { >> weston_log("%s: memory allocation fails\n", __func__); >> return NULL; >> @@ -675,8 +679,10 @@ create_move_layer_transition( >> uint32_t duration) >> { >> struct ivi_layout_transition *transition = >> create_layout_transition(); >> - struct move_layer_data *data = malloc(sizeof(*data)); >> + if (transition == NULL) >> + return NULL; >> >> + struct move_layer_data *data = malloc(sizeof(*data)); >> if (data == NULL) { >> weston_log("%s: memory allocation fails\n", __func__); >> return NULL; >> @@ -819,8 +825,10 @@ ivi_layout_transition_fade_layer( >> } >> >> transition = create_layout_transition(); >> - data = malloc(sizeof(*data)); >> + if (transition == NULL) >> + return; >> >> + data = malloc(sizeof(*data)); >> if (data == NULL) { >> weston_log("%s: memory allocation fails\n", __func__); >> return; >> -- >> 2.1.4 >> >> _______________________________________________ >> wayland-devel mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/wayland-devel > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
