clients: use wl_surface_commit
authorPekka Paalanen <ppaalanen@gmail.com>
Wed, 10 Oct 2012 09:49:24 +0000 (12:49 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 11 Oct 2012 01:38:17 +0000 (21:38 -0400)
Use wl_surface_commit() to commit the buffer attach, as Weston now
requires.

NOTE: GL-applications are broken until you upgrade to a version of Mesa
which does wl_surface_commit() on eglSwapBuffers(). If you have
Cairo-gl, this means all toytoolkit apps, too.

simple-shm and simple-touch OTOH will work now.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
clients/dnd.c
clients/simple-shm.c
clients/simple-touch.c
clients/window.c

index 44c1541..4c070ff 100644 (file)
@@ -269,6 +269,7 @@ data_source_target(void *data,
        wl_surface_attach(dnd_drag->drag_surface, buffer, 0, 0);
        wl_surface_damage(dnd_drag->drag_surface, 0, 0,
                          dnd_drag->width, dnd_drag->height);
+       wl_surface_commit(dnd_drag->drag_surface);
 }
 
 static void
@@ -450,6 +451,7 @@ dnd_button_handler(struct widget *widget,
                                  -dnd_drag->hotspot_x, -dnd_drag->hotspot_y);
                wl_surface_damage(dnd_drag->drag_surface, 0, 0,
                                  dnd_drag->width, dnd_drag->height);
+               wl_surface_commit(dnd_drag->drag_surface);
 
                dnd->current_drag = dnd_drag;
                window_schedule_redraw(dnd->window);
index fc05bb4..66b3772 100644 (file)
@@ -217,6 +217,7 @@ redraw(void *data, struct wl_callback *callback, uint32_t time)
        paint_pixels(window->shm_data, 20, window->width, window->height, time);
        wl_surface_damage(window->surface,
                          20, 20, window->width - 40, window->height - 40);
+       wl_surface_commit(window->surface);
 
        if (callback)
                wl_callback_destroy(callback);
index 68fb368..72a7e07 100644 (file)
@@ -305,6 +305,7 @@ touch_create(int width, int height)
        memset(touch->data, 64, width * height * 4);
        wl_surface_attach(touch->surface, touch->buffer, 0, 0);
        wl_surface_damage(touch->surface, 0, 0, width, height);
+       wl_surface_commit(touch->surface);
 
        return touch;
 }
index 8ea453d..b2ad73a 100644 (file)
@@ -852,6 +852,7 @@ window_attach_surface(struct window *window)
                wl_surface_damage(window->surface, 0, 0,
                                  window->allocation.width,
                                  window->allocation.height);
+               wl_surface_commit(window->surface);
                window->server_allocation = window->allocation;
                cairo_surface_destroy(window->cairo_surface);
                window->cairo_surface = NULL;
@@ -2625,6 +2626,7 @@ input_set_pointer_image_index(struct input *input, int index)
        wl_surface_attach(input->pointer_surface, buffer, 0, 0);
        wl_surface_damage(input->pointer_surface, 0, 0,
                          image->width, image->height);
+       wl_surface_commit(input->pointer_surface);
 }
 
 static const struct wl_callback_listener pointer_surface_listener;