backend/wayland: fix segfault in wlr_wl_output_destroy

This commit is contained in:
emersion 2018-01-18 13:06:57 +01:00
parent 01bcc2ab01
commit 6fa0a91ee2
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48

View file

@ -18,10 +18,12 @@ int os_create_anonymous_file(off_t size);
static struct wl_callback_listener frame_listener; static struct wl_callback_listener frame_listener;
static void surface_frame_callback(void *data, struct wl_callback *cb, uint32_t time) { static void surface_frame_callback(void *data, struct wl_callback *cb, uint32_t time) {
struct wlr_output *wlr_output = data; struct wlr_wl_backend_output *output = data;
struct wlr_output *wlr_output = (struct wlr_output *)output;
assert(wlr_output); assert(wlr_output);
wl_signal_emit(&wlr_output->events.frame, wlr_output); wl_signal_emit(&wlr_output->events.frame, wlr_output);
wl_callback_destroy(cb); wl_callback_destroy(cb);
output->frame_callback = NULL;
} }
static struct wl_callback_listener frame_listener = { static struct wl_callback_listener frame_listener = {