aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-01-18 13:06:57 +0100
committeremersion <contact@emersion.fr>2018-01-18 13:06:57 +0100
commit6fa0a91ee2325f4259021f529297920603343d69 (patch)
treee6b93ad06559e7496b43bb0d83c9b72caa204dd8
parent01bcc2ab01715df1f105ab972041134c878612e0 (diff)
backend/wayland: fix segfault in wlr_wl_output_destroy
-rw-r--r--backend/wayland/output.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/backend/wayland/output.c b/backend/wayland/output.c
index 52791679..7e299ecc 100644
--- a/backend/wayland/output.c
+++ b/backend/wayland/output.c
@@ -18,10 +18,12 @@ int os_create_anonymous_file(off_t size);
static struct wl_callback_listener frame_listener;
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);
wl_signal_emit(&wlr_output->events.frame, wlr_output);
wl_callback_destroy(cb);
+ output->frame_callback = NULL;
}
static struct wl_callback_listener frame_listener = {