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);
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. */