diff --git a/backend/wayland/output.c b/backend/wayland/output.c index ba435c25..0f314031 100644 --- a/backend/wayland/output.c +++ b/backend/wayland/output.c @@ -290,8 +290,8 @@ struct wlr_output *wlr_wl_output_create(struct wlr_backend *wlr_backend) { wlr_output_update_custom_mode(wlr_output, 1280, 720, 0); strncpy(wlr_output->make, "wayland", sizeof(wlr_output->make)); strncpy(wlr_output->model, "wayland", sizeof(wlr_output->model)); - snprintf(wlr_output->name, sizeof(wlr_output->name), "WL-%d", - wl_list_length(&backend->outputs) + 1); + snprintf(wlr_output->name, sizeof(wlr_output->name), "WL-%lu", + ++backend->last_output_num); output->backend = backend; diff --git a/include/backend/wayland.h b/include/backend/wayland.h index c41d560a..c0bb6e74 100644 --- a/include/backend/wayland.h +++ b/include/backend/wayland.h @@ -24,6 +24,7 @@ struct wlr_wl_backend { struct wlr_egl egl; struct wlr_renderer *renderer; size_t requested_outputs; + size_t last_output_num; struct wl_listener local_display_destroy; /* remote state */ struct wl_display *remote_display;