diff --git a/backend/headless/output.c b/backend/headless/output.c index 12bededc..e5b1e1de 100644 --- a/backend/headless/output.c +++ b/backend/headless/output.c @@ -120,11 +120,14 @@ struct wlr_output *wlr_headless_add_output(struct wlr_backend *wlr_backend, return NULL; } output->backend = backend; - wlr_output_init(&output->wlr_output, &backend->backend, &output_impl, - backend->display, NULL); struct wlr_output *wlr_output = &output->wlr_output; - output_set_custom_mode(output, width, height, 0); + struct wlr_output_state state; + wlr_output_state_init(&state); + wlr_output_state_set_custom_mode(&state, width, height, 0); + + wlr_output_init(wlr_output, &backend->backend, &output_impl, backend->display, &state); + wlr_output_state_finish(&state); size_t output_num = ++last_output_num;