Hi, On 09/19/2014 07:44 AM, Peter Hutterer wrote: > Hard-coded to 50 devices, because for a debugging tool that's plenty. > > Signed-off-by: Peter Hutterer <[email protected]>
This patch and 10/10 look good and are: Reviewed-by: Hans de Goede <[email protected]> Regards, Hans > --- > tools/event-gui.c | 36 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/tools/event-gui.c b/tools/event-gui.c > index 3ef3005..fcae236 100644 > --- a/tools/event-gui.c > +++ b/tools/event-gui.c > @@ -67,6 +67,8 @@ struct window { > > /* l/m/r mouse buttons */ > int l, m, r; > + > + struct libinput_device *devices[50]; > }; > > static int > @@ -212,10 +214,23 @@ window_init(struct window *w) > } > > static void > +window_cleanup(struct window *w) > +{ > + struct libinput_device **dev; > + ARRAY_FOR_EACH(w->devices, dev) { > + if (*dev) > + libinput_device_unref(*dev); > + } > +} > + > +static void > handle_event_device_notify(struct libinput_event *ev) > { > struct libinput_device *dev = libinput_event_get_device(ev); > + struct libinput *li; > + struct window *w; > const char *type; > + int i; > > if (libinput_event_get_type(ev) == LIBINPUT_EVENT_DEVICE_ADDED) > type = "added"; > @@ -232,6 +247,26 @@ handle_event_device_notify(struct libinput_event *ev) > error("%s: Failed to enable tapping\n", > libinput_device_get_sysname(dev)); > } > + > + li = libinput_event_get_context(ev); > + w = libinput_get_user_data(li); > + > + if (libinput_event_get_type(ev) == LIBINPUT_EVENT_DEVICE_ADDED) { > + for (i = 0; i < ARRAY_LENGTH(w->devices); i++) { > + if (w->devices[i] == NULL) { > + w->devices[i] = libinput_device_ref(dev); > + break; > + } > + } > + } else { > + for (i = 0; i < ARRAY_LENGTH(w->devices); i++) { > + if (w->devices[i] == dev) { > + libinput_device_unref(w->devices[i]); > + w->devices[i] = NULL; > + break; > + } > + } > + } > } > > static void > @@ -474,6 +509,7 @@ main(int argc, char *argv[]) > > gtk_main(); > > + window_cleanup(&w); > libinput_unref(li); > udev_unref(udev); > > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
