BTW note this series depends on this other one: https://patchwork.freedesktop.org/series/18695/ https://lists.freedesktop.org/archives/wayland-devel/2017-January/032890.html
Cheers, Emilio On 03/02/17 16:10, Emilio Pozuelo Monfort wrote: > This doesn't attach a buffer to the surface. This is needed for the > next commit, where we have a test case with a surface that doesn't > have a buffer attached. > > Signed-off-by: Emilio Pozuelo Monfort <emilio.pozu...@collabora.co.uk> > --- > tests/weston-test-client-helper.c | 29 ++++++++++++++++++++--------- > tests/weston-test-client-helper.h | 3 +++ > 2 files changed, 23 insertions(+), 9 deletions(-) > > diff --git a/tests/weston-test-client-helper.c > b/tests/weston-test-client-helper.c > index dd411925..4c27988d 100644 > --- a/tests/weston-test-client-helper.c > +++ b/tests/weston-test-client-helper.c > @@ -884,18 +884,13 @@ create_client(void) > return client; > } > > -struct client * > -create_client_and_test_surface(int x, int y, int width, int height) > +struct surface * > +create_test_surface(struct client *client) > { > - struct client *client; > struct surface *surface; > - pixman_color_t color = { 16384, 16384, 16384, 16384 }; /* uint16_t */ > - pixman_image_t *solid; > - > - client = create_client(); > > - /* initialize the client surface */ > surface = xzalloc(sizeof *surface); > + > surface->wl_surface = > wl_compositor_create_surface(client->wl_compositor); > assert(surface->wl_surface); > @@ -903,9 +898,25 @@ create_client_and_test_surface(int x, int y, int width, > int height) > wl_surface_add_listener(surface->wl_surface, &surface_listener, > surface); > > - client->surface = surface; > wl_surface_set_user_data(surface->wl_surface, surface); > > + return surface; > +} > + > +struct client * > +create_client_and_test_surface(int x, int y, int width, int height) > +{ > + struct client *client; > + struct surface *surface; > + pixman_color_t color = { 16384, 16384, 16384, 16384 }; /* uint16_t */ > + pixman_image_t *solid; > + > + client = create_client(); > + > + /* initialize the client surface */ > + surface = create_test_surface(client); > + client->surface = surface; > + > surface->width = width; > surface->height = height; > surface->buffer = create_shm_buffer_a8r8g8b8(client, width, height); > diff --git a/tests/weston-test-client-helper.h > b/tests/weston-test-client-helper.h > index 8908ae7e..8ab59c61 100644 > --- a/tests/weston-test-client-helper.h > +++ b/tests/weston-test-client-helper.h > @@ -155,6 +155,9 @@ struct rectangle { > struct client * > create_client(void); > > +struct surface * > +create_test_surface(struct client *client); > + > struct client * > create_client_and_test_surface(int x, int y, int width, int height); > > _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel