Fix segfault in get_relative_pointer

Occurs on subsequent calls to
relative_pointer_manager_v1_handle_get_relative_pointer()

Steps to reproduce:
- run rootston
- run examples/relative-pointer
- switch to relative pointer more than once

Note: if done fast enough it may take more than two switches to crash.
This commit is contained in:
Ilya Trukhanov 2019-01-18 21:33:23 +02:00
parent 3e21d0bd48
commit 268cc450b6

View file

@ -42,6 +42,7 @@ static void relative_pointer_destroy(struct wlr_relative_pointer_v1 *relative_po
wl_list_remove(&relative_pointer->link); wl_list_remove(&relative_pointer->link);
wl_list_remove(&relative_pointer->seat_destroy.link); wl_list_remove(&relative_pointer->seat_destroy.link);
wl_list_remove(&relative_pointer->pointer_destroy.link);
wl_resource_set_user_data(relative_pointer->resource, NULL); wl_resource_set_user_data(relative_pointer->resource, NULL);
free(relative_pointer); free(relative_pointer);