simple-shm: Don't attach the buffer to the surface for every redraw
authorRob Bradford <rob@linux.intel.com>
Tue, 2 Oct 2012 17:03:14 +0000 (18:03 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 4 Oct 2012 15:34:05 +0000 (11:34 -0400)
This will allow us to change just a sub region of the buffer.

clients/simple-shm.c

index 252e040..e8dc620 100644 (file)
@@ -209,7 +209,6 @@ redraw(void *data, struct wl_callback *callback, uint32_t time)
        struct window *window = data;
 
        paint_pixels(window->shm_data, window->width, window->height, time);
-       wl_surface_attach(window->surface, window->buffer, 0, 0);
        wl_surface_damage(window->surface,
                          0, 0, window->width, window->height);
 
@@ -330,6 +329,7 @@ main(int argc, char **argv)
        sigint.sa_flags = SA_RESETHAND;
        sigaction(SIGINT, &sigint, NULL);
 
+       wl_surface_attach(window->surface, window->buffer, 0, 0);
        redraw(window, NULL, 0);
 
        while (running)