fix crash on non-libinput pointers (e.g. X11 backend)

This commit is contained in:
Devin J. Pohly 2020-12-24 21:15:40 -05:00
parent 5f3a7887f3
commit d94266df91

12
dwl.c
View file

@ -899,14 +899,16 @@ createlayersurface(struct wl_listener *listener, void *data)
void void
createpointer(struct wlr_input_device *device) createpointer(struct wlr_input_device *device)
{ {
struct libinput_device *libinput_device = (struct libinput_device*) if (wlr_input_device_is_libinput(device)) {
struct libinput_device *libinput_device = (struct libinput_device*)
wlr_libinput_get_device_handle(device); wlr_libinput_get_device_handle(device);
if (tap_to_click && libinput_device_config_tap_get_finger_count(libinput_device)) if (tap_to_click && libinput_device_config_tap_get_finger_count(libinput_device))
libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_ENABLED); libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_ENABLED);
if (libinput_device_config_scroll_has_natural_scroll(libinput_device)) if (libinput_device_config_scroll_has_natural_scroll(libinput_device))
libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, natural_scrolling); libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, natural_scrolling);
}
/* We don't do anything special with pointers. All of our pointer handling /* We don't do anything special with pointers. All of our pointer handling
* is proxied through wlr_cursor. On another compositor, you might take this * is proxied through wlr_cursor. On another compositor, you might take this