diff --git a/backend/headless/output.c b/backend/headless/output.c index 3cb35dcef..d200aa581 100644 --- a/backend/headless/output.c +++ b/backend/headless/output.c @@ -128,8 +128,8 @@ struct wlr_output *wlr_headless_add_output(struct wlr_backend *wlr_backend, output_set_custom_mode(wlr_output, width, height, 0); strncpy(wlr_output->make, "headless", sizeof(wlr_output->make)); strncpy(wlr_output->model, "headless", sizeof(wlr_output->model)); - snprintf(wlr_output->name, sizeof(wlr_output->name), "HEADLESS-%d", - wl_list_length(&backend->outputs) + 1); + snprintf(wlr_output->name, sizeof(wlr_output->name), "HEADLESS-%ld", + ++backend->last_output_num); if (!wlr_egl_make_current(&output->backend->egl, output->egl_surface, NULL)) { diff --git a/include/backend/headless.h b/include/backend/headless.h index 35280862d..66448071e 100644 --- a/include/backend/headless.h +++ b/include/backend/headless.h @@ -12,6 +12,7 @@ struct wlr_headless_backend { struct wlr_renderer *renderer; struct wl_display *display; struct wl_list outputs; + size_t last_output_num; struct wl_list input_devices; struct wl_listener display_destroy; bool started;