mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
server: don't create headless backend twice
This may happen when running with WLR_BACKENDS=headless. Fixes: #1618
This commit is contained in:
parent
42c09eeef8
commit
55138dbe0e
1 changed files with 19 additions and 1 deletions
20
src/server.c
20
src/server.c
|
|
@ -278,6 +278,15 @@ static const char helpful_seat_error_message[] =
|
|||
"If the above does not work, try running with `WLR_RENDERER=pixman labwc` in\n"
|
||||
"order to use the software rendering fallback\n";
|
||||
|
||||
static void
|
||||
get_headless_backend(struct wlr_backend *backend, void *data)
|
||||
{
|
||||
if (wlr_backend_is_headless(backend)) {
|
||||
struct wlr_backend **headless = data;
|
||||
*headless = backend;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
server_init(struct server *server)
|
||||
{
|
||||
|
|
@ -327,7 +336,16 @@ server_init(struct server *server)
|
|||
}
|
||||
|
||||
/* Create headless backend to enable adding virtual outputs later on */
|
||||
server->headless.backend = wlr_headless_backend_create(server->wl_display);
|
||||
wlr_multi_for_each_backend(server->backend,
|
||||
get_headless_backend, &server->headless.backend);
|
||||
|
||||
if (!server->headless.backend) {
|
||||
wlr_log(WLR_DEBUG, "manually creating headless backend");
|
||||
server->headless.backend = wlr_headless_backend_create(server->wl_display);
|
||||
} else {
|
||||
wlr_log(WLR_DEBUG, "headless backend already exists");
|
||||
}
|
||||
|
||||
if (!server->headless.backend) {
|
||||
wlr_log(WLR_ERROR, "unable to create headless backend");
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue