diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-09 17:52:11 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-06-13 08:10:36 -0400 |
commit | 59ceaf507e9a7c80e04460d1ae4946ce7b6f56ac (patch) | |
tree | df3b5fcc06b47ca3a1beb9ecff01cbf4527473d4 /backend/libinput/backend.c | |
parent | 0e75d157f52db45a1af350574bd95cccbd09fa57 (diff) |
Handle key presses
Diffstat (limited to 'backend/libinput/backend.c')
-rw-r--r-- | backend/libinput/backend.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/backend/libinput/backend.c b/backend/libinput/backend.c index 3af08875..dc018b10 100644 --- a/backend/libinput/backend.c +++ b/backend/libinput/backend.c @@ -99,7 +99,12 @@ struct wlr_backend *wlr_libinput_backend_create(struct wl_display *display, struct wlr_backend *backend = wlr_backend_create(&backend_impl, state); if (!backend) { wlr_log(L_ERROR, "Allocation failed: %s", strerror(errno)); - return NULL; + goto error_state; + } + + if (!(state->keyboards = list_create())) { + wlr_log(L_ERROR, "Allocation failed: %s", strerror(errno)); + goto error_backend; } state->backend = backend; @@ -107,7 +112,10 @@ struct wlr_backend *wlr_libinput_backend_create(struct wl_display *display, state->udev = udev; state->display = display; - state->keyboards = list_create(); - return backend; +error_state: + free(state); +error_backend: + wlr_backend_destroy(backend); + return NULL; } |