aboutsummaryrefslogtreecommitdiff
path: root/backend/x11
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2017-10-31 14:21:12 +0100
committeremersion <contact@emersion.fr>2017-10-31 14:21:12 +0100
commit2c63aa2056d564be2fee50a175b3400bdfb96660 (patch)
tree58eb4987dbc76cbbb4773065dcbd979dcf66bd35 /backend/x11
parentc97b5ac4ce43794b68b8aabcf8005b9cbd60a51a (diff)
Destroy x11 output with backend
Diffstat (limited to 'backend/x11')
-rw-r--r--backend/x11/backend.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c
index 37bbdaec..97b0dd8c 100644
--- a/backend/x11/backend.c
+++ b/backend/x11/backend.c
@@ -298,6 +298,9 @@ static void wlr_x11_backend_destroy(struct wlr_backend *backend) {
struct wlr_x11_backend *x11 = (struct wlr_x11_backend *)backend;
+ struct wlr_x11_output *output = &x11->output;
+ wlr_output_destroy(&output->wlr_output);
+
wl_event_source_remove(x11->frame_timer);
wlr_egl_free(&x11->egl);
@@ -331,7 +334,7 @@ static void output_destroy(struct wlr_output *wlr_output) {
eglDestroySurface(x11->egl.display, output->surf);
xcb_destroy_window(x11->xcb_conn, output->win);
- free(wlr_output);
+ // output has been allocated on the stack, do not free it
}
static void output_make_current(struct wlr_output *wlr_output) {