review: pepper: surface: add some codes
authorjh01.j <jh01.j@samsung.com>
Thu, 11 Jun 2015 06:17:40 +0000 (15:17 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Tue, 7 Jul 2015 06:56:50 +0000 (15:56 +0900)
    - Add pepper_surface_schedule_repaint() function
    - Add wl_list_remove() for remove surface from compositor->surfaces list in destroy

Change-Id: I5ac6a701028db75c1fcd7c7c046c2329181b22dc

pepper/src/surface.c

index 38e479b..e3c7ebd 100644 (file)
@@ -315,6 +315,8 @@ pepper_surface_destroy(pepper_surface_t *surface)
     pixman_region32_fini(&surface->opaque_region);
     pixman_region32_fini(&surface->input_region);
 
+    wl_list_remove(wl_resource_get_link(surface->resource));
+
     wl_resource_for_each_safe(callback, next, &surface->frame_callbacks)
         wl_resource_destroy(callback);
 
@@ -327,6 +329,15 @@ pepper_surface_destroy(pepper_surface_t *surface)
     pepper_free(surface);
 }
 
+static void
+pepper_surface_schedule_repaint(pepper_surface_t *surface)
+{
+    /* FIXME: Find outputs to be repainted */
+    pepper_output_t *output;
+    wl_list_for_each(output, &surface->compositor->output_list, link)
+        pepper_output_schedule_repaint(output);
+}
+
 void
 pepper_surface_commit(pepper_surface_t *surface)
 {
@@ -386,7 +397,7 @@ pepper_surface_commit(pepper_surface_t *surface)
     pixman_region32_copy(&surface->opaque_region, &surface->pending.opaque_region);
     pixman_region32_copy(&surface->input_region, &surface->pending.input_region);
 
-    /* TODO: Now schedule redraw. */
+    pepper_surface_schedule_repaint(surface);
 }
 
 PEPPER_API void