backend/wayland: Move initilisation code earlier

The renderer redesign is going to need the render fd before the backend
is fully started, so we have to move the wl registry code to when the
backend is created instead of when it is started.

We also need to stash the wl_keyboard and emit it to library users
later, once they've added their listeners and started the backend.
This commit is contained in:
Scott Anderson 2018-11-11 18:09:04 +13:00
parent 47545cf550
commit bbce92a923
3 changed files with 136 additions and 114 deletions

View file

@ -32,6 +32,7 @@ struct wlr_wl_backend {
struct wl_shm *shm;
struct wl_seat *seat;
struct wl_pointer *pointer;
struct wl_keyboard *keyboard;
struct wlr_wl_pointer *current_pointer;
char *seat_name;
};
@ -78,12 +79,11 @@ struct wlr_wl_pointer {
struct wl_listener output_destroy;
};
struct wlr_wl_backend *get_wl_backend_from_backend(
struct wlr_backend *wlr_backend);
struct wlr_wl_backend *get_wl_backend_from_backend(struct wlr_backend *backend);
void update_wl_output_cursor(struct wlr_wl_output *output);
struct wlr_wl_pointer *pointer_get_wl(struct wlr_pointer *wlr_pointer);
void create_wl_pointer(struct wl_pointer *wl_pointer,
struct wlr_wl_output *output);
void create_wl_pointer(struct wl_pointer *wl_pointer, struct wlr_wl_output *output);
void create_wl_keyboard(struct wl_keyboard *wl_keyboard, struct wlr_wl_backend *wl);
extern const struct wl_seat_listener seat_listener;