[PATCH weston] Require libinput 0.4.0

Jonas Ådahl jadahl at gmail.com
Tue Jun 24 23:55:24 PDT 2014


On Wed, Jun 25, 2014 at 02:07:36PM +1000, Peter Hutterer wrote:
> No functional changes, just adjusting for API changes in libinput:
> - libinput_destroy() replaced by libinput_unref()
> - log functions now take a libinput context, userdata is gone
> - udev seat creation is now libinput_udev_create_context() and
>   libinput_udev_assign_seat()

Applied and pushed, thanks.

Jonas

> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  configure.ac        |  2 +-
>  src/libinput-seat.c | 32 +++++++++++++++++++++-----------
>  2 files changed, 22 insertions(+), 12 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index b4511fc..648bee8 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -160,7 +160,7 @@ AC_ARG_ENABLE(libinput-backend, [  --enable-libinput-backend],,
>  AM_CONDITIONAL([ENABLE_LIBINPUT_BACKEND], [test x$enable_libinput_backend = xyes])
>  if test x$enable_libinput_backend = xyes; then
>    AC_DEFINE([BUILD_LIBINPUT_BACKEND], [1], [Build the libinput input device backend])
> -  PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.3.0])
> +  PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.4.0])
>  fi
>  
>  
> diff --git a/src/libinput-seat.c b/src/libinput-seat.c
> index d59ae42..09cf7c7 100644
> --- a/src/libinput-seat.c
> +++ b/src/libinput-seat.c
> @@ -252,8 +252,9 @@ udev_input_enable(struct udev_input *input)
>  }
>  
>  static void
> -libinput_log_func(enum libinput_log_priority priority, void *user_data,
> -		     const char *format, va_list args)
> +libinput_log_func(struct libinput *libinput,
> +		  enum libinput_log_priority priority,
> +		  const char *format, va_list args)
>  {
>  	weston_vlog(format, args);
>  }
> @@ -268,25 +269,34 @@ udev_input_init(struct udev_input *input, struct weston_compositor *c, struct ud
>  
>  	input->compositor = c;
>  
> -	libinput_log_set_handler(&libinput_log_func, NULL);
> -
>  	log_priority = getenv("WESTON_LIBINPUT_LOG_PRIORITY");
>  
> +	input->libinput = libinput_udev_create_context(&libinput_interface,
> +						       input, udev);
> +	if (!input->libinput) {
> +		return -1;
> +	}
> +
> +	libinput_log_set_handler(input->libinput, &libinput_log_func);
> +
>  	if (log_priority) {
>  		if (strcmp(log_priority, "debug") == 0) {
> -			libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_DEBUG);
> +			libinput_log_set_priority(input->libinput,
> +						  LIBINPUT_LOG_PRIORITY_DEBUG);
>  		} else if (strcmp(log_priority, "info") == 0) {
> -			libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_INFO);
> +			libinput_log_set_priority(input->libinput,
> +						  LIBINPUT_LOG_PRIORITY_INFO);
>  		} else if (strcmp(log_priority, "error") == 0) {
> -			libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_ERROR);
> +			libinput_log_set_priority(input->libinput,
> +						  LIBINPUT_LOG_PRIORITY_ERROR);
>  		}
>  	}
>  
> -	input->libinput = libinput_udev_create_for_seat(&libinput_interface, input,
> -							udev, seat_id);
> -	if (!input->libinput) {
> +	if (libinput_udev_assign_seat(input->libinput, seat_id) != 0) {
> +		libinput_unref(input->libinput);
>  		return -1;
>  	}
> +
>  	process_events(input);
>  
>  	return udev_input_enable(input);
> @@ -300,7 +310,7 @@ udev_input_destroy(struct udev_input *input)
>  	wl_event_source_remove(input->libinput_source);
>  	wl_list_for_each_safe(seat, next, &input->compositor->seat_list, base.link)
>  		udev_seat_destroy(seat);
> -	libinput_destroy(input->libinput);
> +	libinput_unref(input->libinput);
>  }
>  
>  static void
> -- 
> 1.9.3
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list