Call wl_global_create first in case of failure
@@ -294,13 +294,6 @@ struct wlr_tablet_manager_v2 *wlr_tablet_v2_create(struct wl_display *display) {
return NULL;
}
- wl_signal_init(&tablet->events.destroy);
- wl_list_init(&tablet->clients);
- wl_list_init(&tablet->seats);
-
- tablet->display_destroy.notify = handle_display_destroy;
- wl_display_add_destroy_listener(display, &tablet->display_destroy);
-
tablet->wl_global = wl_global_create(display,
&zwp_tablet_manager_v2_interface, TABLET_MANAGER_VERSION,
tablet, tablet_v2_bind);
@@ -309,5 +302,12 @@ struct wlr_tablet_manager_v2 *wlr_tablet_v2_create(struct wl_display *display) {
return NULL;
}
+ wl_signal_init(&tablet->events.destroy);
+ wl_list_init(&tablet->clients);
+ wl_list_init(&tablet->seats);
+
+ tablet->display_destroy.notify = handle_display_destroy;
+ wl_display_add_destroy_listener(display, &tablet->display_destroy);
+
return tablet;
}
