diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-09 11:38:38 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-06-13 08:10:36 -0400 |
commit | af69591e6233c83ed749b2f51922edb45bdaef2e (patch) | |
tree | 991d104756067368c2ac7e85a8a94844d8b5926b /backend | |
parent | 1262f1400c6f443a1460e168c7adc25997247cde (diff) |
Add error handling and init in backend_autocreate
Diffstat (limited to 'backend')
-rw-r--r-- | backend/CMakeLists.txt | 2 | ||||
-rw-r--r-- | backend/backend.c | 8 | ||||
-rw-r--r-- | backend/libinput/backend.c | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt index bca615fb..c3e7ef54 100644 --- a/backend/CMakeLists.txt +++ b/backend/CMakeLists.txt @@ -2,6 +2,7 @@ include_directories( ${PROTOCOLS_INCLUDE_DIRS} ${WAYLAND_INCLUDE_DIR} ${DRM_INCLUDE_DIRS} + ${LIBINPUT_INCLUDE_DIRS} ) add_library(wlr-backend @@ -30,5 +31,6 @@ target_link_libraries(wlr-backend ${EGL_LIBRARIES} ${SYSTEMD_LIBRARIES} ${UDEV_LIBRARIES} + ${LIBINPUT_LIBRARIES} ${GBM_LIBRARIES} ) diff --git a/backend/backend.c b/backend/backend.c index 38b65dca..1a0c3295 100644 --- a/backend/backend.c +++ b/backend/backend.c @@ -5,8 +5,10 @@ #include <errno.h> #include <wlr/session.h> #include <wlr/backend/interface.h> +#include <wlr/backend/drm.h> +#include <wlr/backend/libinput.h> +#include "backend/udev.h" #include "common/log.h" -#include "backend/drm.h" struct wlr_backend *wlr_backend_create(const struct wlr_backend_impl *impl, struct wlr_backend_state *state) { @@ -46,12 +48,14 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display, wlr_log(L_ERROR, "Failed to start udev"); goto error; } + struct wlr_backend *wlr; + wlr = wlr_libinput_backend_create(display, session, udev); + return wlr; int gpu = wlr_udev_find_gpu(udev, session); if (gpu == -1) { wlr_log(L_ERROR, "Failed to open DRM device"); goto error_udev; } - struct wlr_backend *wlr; wlr = wlr_drm_backend_create(display, session, udev, gpu); if (!wlr) { goto error_gpu; diff --git a/backend/libinput/backend.c b/backend/libinput/backend.c index 6142bde3..b49bf6b4 100644 --- a/backend/libinput/backend.c +++ b/backend/libinput/backend.c @@ -34,14 +34,17 @@ static void wlr_libinput_log(struct libinput *libinput, } static bool wlr_libinput_backend_init(struct wlr_backend_state *state) { + wlr_log(L_DEBUG, "Initializing libinput"); state->handle = libinput_udev_create_context(&libinput_impl, state, state->udev->udev); if (!state->handle) { + wlr_log(L_ERROR, "Failed to create libinput context"); return false; } // TODO: Let user customize seat used if (!libinput_udev_assign_seat(state->handle, "seat0")) { + wlr_log(L_ERROR, "Failed to assign libinput seat"); return false; } @@ -58,8 +61,10 @@ static bool wlr_libinput_backend_init(struct wlr_backend_state *state) { libinput_get_fd(state->handle), WL_EVENT_READABLE, wlr_libinput_handle_event, state); if (!state->input_event) { + wlr_log(L_ERROR, "Failed to create input event on event loop"); return false; } + wlr_log(L_DEBUG, "libinput sucessfully initialized"); return true; } |