Fix wlr_data_device_manager

This commit is contained in:
nyorain 2017-08-18 19:58:36 +02:00
parent 154d2ad941
commit f2a9098691
3 changed files with 12 additions and 11 deletions

View file

@ -157,16 +157,10 @@ struct wlr_data_device_manager *wlr_data_device_manager_create(struct wl_display
}
void wlr_data_device_manager_destroy(struct wlr_data_device_manager *manager) {
if (!manager) {
return;
if (manager) {
wl_global_destroy(manager->global);
free(manager);
}
// TODO: destroy remaining resources? cancel current selection?
// if this is called why there are still resources active we will
// always get problems
wl_global_destroy(manager->global);
free(manager);
}
void wlr_data_device_set_selection(struct wlr_data_device *device,

View file

@ -180,7 +180,13 @@ void wlr_seat_destroy(struct wlr_seat *wlr_seat) {
return;
}
struct wlr_seat_handle *handle;
wl_list_for_each(handle, &wlr_seat->handles, link) {
wl_resource_destroy(handle->wl_resource); // will destroy other resources as well
}
wl_global_destroy(wlr_seat->wl_global);
free(wlr_seat->data_device);
free(wlr_seat->name);
free(wlr_seat);
}