From: Seunghun Lee Date: Tue, 10 May 2016 06:37:45 +0000 (+0900) Subject: view: check if null before accessing 'view->surface'. X-Git-Tag: submit/tizen/20160512.051703~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=411a78d77792161cda81b065bfa41b6a2e0ef8cd;p=platform%2Fcore%2Fuifw%2Fpepper.git view: check if null before accessing 'view->surface'. Change-Id: If05db77c89cdd12fa8e8414bfa502490f8b373e4 --- diff --git a/src/lib/pepper/output.c b/src/lib/pepper/output.c index 2657aa4..1bb6c17 100644 --- a/src/lib/pepper/output.c +++ b/src/lib/pepper/output.c @@ -161,6 +161,7 @@ output_repaint(pepper_output_t *output) pepper_list_for_each(view, &output->view_list, link) { /* TODO: Output time stamp and presentation feedback. */ + PEPPER_CHECK(view->surface, continue, "view->surface is null"); pepper_surface_send_frame_callback_done(view->surface, output->frame.time.tv_sec * 1000 + output->frame.time.tv_nsec / 1000000); diff --git a/src/lib/pepper/view.c b/src/lib/pepper/view.c index 9f30d86..7727ed7 100644 --- a/src/lib/pepper/view.c +++ b/src/lib/pepper/view.c @@ -224,24 +224,26 @@ pepper_view_update(pepper_view_t *view) output_overlap_prev = view->output_overlap; view->output_overlap = 0; - pepper_list_for_each(output, &view->compositor->output_list, link) { - pixman_box32_t box = { - output->geometry.x, - output->geometry.y, - output->geometry.x + output->geometry.w, - output->geometry.y + output->geometry.h - }; - - if (pixman_region32_contains_rectangle(&view->bounding_region, - &box) != PIXMAN_REGION_OUT) { - view->output_overlap |= (1 << output->id); - if (!(output_overlap_prev & (1 << output->id))) - pepper_surface_send_enter(view->surface, output); - } else { - if (view->surface && (output_overlap_prev & (1 << output->id))) - pepper_surface_send_leave(view->surface, output); + if (view->surface) { + pepper_list_for_each(output, &view->compositor->output_list, link) { + pixman_box32_t box = { + output->geometry.x, + output->geometry.y, + output->geometry.x + output->geometry.w, + output->geometry.y + output->geometry.h + }; + + if (pixman_region32_contains_rectangle(&view->bounding_region, + &box) != PIXMAN_REGION_OUT) { + view->output_overlap |= (1 << output->id); + if (!(output_overlap_prev & (1 << output->id))) + pepper_surface_send_enter(view->surface, output); + } else { + if (view->surface && (output_overlap_prev & (1 << output->id))) + pepper_surface_send_leave(view->surface, output); + } } - } + } } /* Mark the plane entries as damaged. */