diff options
author | Simon Zeni <[email protected]> | 2022-06-23 12:23:37 -0400 |
---|---|---|
committer | Simon Ser <[email protected]> | 2022-06-28 13:43:36 +0000 |
commit | 43b052721ee72b4231431a353ce7371e3b2083ad (patch) | |
tree | edec238c15ef26e0d28a11c4b980934c3f6e546d /tinywl.c | |
parent | 0c0db4372dfd39cd161d4ee4eac6d0b5787d6670 (diff) |
tinywl: exit on backend, renderer or allocator creation failure
Diffstat (limited to 'tinywl.c')
-rw-r--r-- | tinywl.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -818,12 +818,21 @@ int main(int argc, char *argv[]) { * backend based on the current environment, such as opening an X11 window * if an X11 server is running. */ server.backend = wlr_backend_autocreate(server.wl_display); + if (server.backend == NULL) { + wlr_log(WLR_ERROR, "failed to create wlr_backend"); + return 1; + } /* Autocreates a renderer, either Pixman, GLES2 or Vulkan for us. The user * can also specify a renderer using the WLR_RENDERER env var. * The renderer is responsible for defining the various pixel formats it * supports for shared memory, this configures that for clients. */ server.renderer = wlr_renderer_autocreate(server.backend); + if (server.renderer == NULL) { + wlr_log(WLR_ERROR, "failed to create wlr_renderer"); + return 1; + } + wlr_renderer_init_wl_display(server.renderer, server.wl_display); /* Autocreates an allocator for us. @@ -832,6 +841,10 @@ int main(int argc, char *argv[]) { * screen */ server.allocator = wlr_allocator_autocreate(server.backend, server.renderer); + if (server.allocator == NULL) { + wlr_log(WLR_ERROR, "failed to create wlr_allocator"); + return 1; + } /* This creates some hands-off wlroots interfaces. The compositor is * necessary for clients to allocate surfaces, the subcompositor allows to |