If a surface has no content (e.g. no buffer), then it shouldn't be mapped, so that its subsurfaces don't get mapped either.
This works fine in the desktop-shell, but is currently broken on the weston-test module. https://bugs.freedesktop.org/show_bug.cgi?id Signed-off-by: Emilio Pozuelo Monfort <emilio.pozu...@collabora.co.uk> --- tests/weston-test.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/weston-test.c b/tests/weston-test.c index 412eb243..b67bd9fd 100644 --- a/tests/weston-test.c +++ b/tests/weston-test.c @@ -157,12 +157,21 @@ notify_pointer_position(struct weston_test *test, struct wl_resource *resource) weston_test_send_pointer_position(resource, pointer->x, pointer->y); } +static bool +surface_has_content(struct weston_surface *surface) +{ + return surface->width > 0 && surface->height > 0; +} + static void test_surface_committed(struct weston_surface *surface, int32_t sx, int32_t sy) { struct weston_test_surface *test_surface = surface->committed_private; struct weston_test *test = test_surface->test; + if (!surface_has_content(surface)) + return; + if (wl_list_empty(&test_surface->view->layer_link.link)) weston_layer_entry_insert(&test->layer.view_list, &test_surface->view->layer_link); -- 2.18.0 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel