Hello community, here is the log from the commit of package libinput for openSUSE:Factory checked in at 2020-03-11 18:31:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libinput (Old) and /work/SRC/openSUSE:Factory/.libinput.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libinput" Wed Mar 11 18:31:48 2020 rev:85 rq:782036 version:1.15.3 Changes: -------- --- /work/SRC/openSUSE:Factory/libinput/libinput.changes 2020-02-29 21:20:28.586037027 +0100 +++ /work/SRC/openSUSE:Factory/.libinput.new.3160/libinput.changes 2020-03-11 18:31:59.802885796 +0100 @@ -1,0 +2,7 @@ +Fri Mar 6 08:48:40 UTC 2020 - Jan Engelhardt <[email protected]> + +- Update to release 1.15.3 + * Restrict slot count code to ALPS devices only due to + side effects on other devices. + +------------------------------------------------------------------- Old: ---- libinput-1.15.2.tar.xz libinput-1.15.2.tar.xz.sig New: ---- libinput-1.15.3.tar.xz libinput-1.15.3.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libinput.spec ++++++ --- /var/tmp/diff_new_pack.x0IaJM/_old 2020-03-11 18:32:01.438886800 +0100 +++ /var/tmp/diff_new_pack.x0IaJM/_new 2020-03-11 18:32:01.462886815 +0100 @@ -20,7 +20,7 @@ Name: libinput %define lname libinput10 -Version: 1.15.2 +Version: 1.15.3 Release: 0 Summary: Input device and event processing library License: MIT ++++++ libinput-1.15.2.tar.xz -> libinput-1.15.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/meson.build new/libinput-1.15.3/meson.build --- old/libinput-1.15.2/meson.build 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/meson.build 2020-03-06 05:39:46.000000000 +0100 @@ -1,5 +1,5 @@ project('libinput', 'c', - version : '1.15.2', + version : '1.15.3', license : 'MIT/Expat', default_options : [ 'c_std=gnu99', 'warning_level=2' ], meson_version : '>= 0.41.0') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/quirks/30-vendor-alps.quirks new/libinput-1.15.3/quirks/30-vendor-alps.quirks --- old/libinput-1.15.2/quirks/30-vendor-alps.quirks 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/quirks/30-vendor-alps.quirks 2020-03-06 05:39:46.000000000 +0100 @@ -17,7 +17,7 @@ MatchBus=ps2 MatchVendor=0x0002 MatchProduct=0x0008 -ModelALPSTouchpad=1 +ModelALPSSerialTouchpad=1 [ALPS v8 Touchpads] MatchUdevType=touchpad diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/src/evdev-mt-touchpad-buttons.c new/libinput-1.15.3/src/evdev-mt-touchpad-buttons.c --- old/libinput-1.15.2/src/evdev-mt-touchpad-buttons.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/src/evdev-mt-touchpad-buttons.c 2020-03-06 05:39:46.000000000 +0100 @@ -906,7 +906,7 @@ enable_by_default = true; want_config_option = false; } else if (evdev_device_has_model_quirk(device, - QUIRK_MODEL_ALPS_TOUCHPAD)) { + QUIRK_MODEL_ALPS_SERIAL_TOUCHPAD)) { enable_by_default = true; want_config_option = true; } else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/src/evdev-mt-touchpad.c new/libinput-1.15.3/src/evdev-mt-touchpad.c --- old/libinput-1.15.2/src/evdev-mt-touchpad.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/src/evdev-mt-touchpad.c 2020-03-06 05:39:46.000000000 +0100 @@ -609,11 +609,14 @@ (tp->nfingers_down == tp->num_slots && nfake_touches == tp->num_slots)) return; - /* Synaptics devices may end touch 2 on BTN_TOOL_TRIPLETAP - * and start it again on the next frame with different coordinates - * (#91352). We search the touches we have, if there is one that has - * just ended despite us being on tripletap, we move it back to - * update. + /* Synaptics devices may end touch 2 on transition to/fro + * BTN_TOOL_TRIPLETAP and start it again on the next frame with + * different coordinates (bz#91352, gitlab#434). We search the + * touches we have, if there is one that has just ended despite us + * being on tripletap, we move it back to update. + * + * Note: we only handle the transition from 2 to 3 touches, not the + * other way round (see gitlab#434) */ for (i = 0; i < tp->num_slots; i++) { struct tp_touch *t = tp_get_touch(tp, i); @@ -642,12 +645,14 @@ EVDEV_MODEL_SYNAPTICS_SERIAL_TOUCHPAD) tp_restore_synaptics_touches(tp, time); - /* ALPS touchpads always set 3 slots in the kernel, even + /* ALPS serial touchpads always set 3 slots in the kernel, even * where they support less than that. So we get BTN_TOOL_TRIPLETAP * but never slot 2 because our slot count is wrong. * This also means that the third touch falls through the cracks and * is ignored. * + * See https://gitlab.freedesktop.org/libinput/libinput/issues/408 + * * All touchpad devices have at least one slot so we only do this * for 2 touches or higher. * @@ -662,7 +667,8 @@ * For a long explanation of what happens, see * https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/19 */ - if (nfake_touches > 1 && tp->has_mt && + if (tp->device->model_flags & EVDEV_MODEL_ALPS_SERIAL_TOUCHPAD && + nfake_touches > 1 && tp->has_mt && tp->nactive_slots > 0 && nfake_touches > tp->nactive_slots && tp->nactive_slots < tp->num_slots) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/src/evdev.c new/libinput-1.15.3/src/evdev.c --- old/libinput-1.15.2/src/evdev.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/src/evdev.c 2020-03-06 05:39:46.000000000 +0100 @@ -1384,6 +1384,7 @@ #define MODEL(name) { QUIRK_MODEL_##name, EVDEV_MODEL_##name } MODEL(WACOM_TOUCHPAD), MODEL(SYNAPTICS_SERIAL_TOUCHPAD), + MODEL(ALPS_SERIAL_TOUCHPAD), MODEL(LENOVO_T450_TOUCHPAD), MODEL(TRACKBALL), MODEL(APPLE_TOUCHPAD_ONEBUTTON), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/src/evdev.h new/libinput-1.15.3/src/evdev.h --- old/libinput-1.15.2/src/evdev.h 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/src/evdev.h 2020-03-06 05:39:46.000000000 +0100 @@ -108,6 +108,7 @@ EVDEV_MODEL_DEFAULT = 0, EVDEV_MODEL_WACOM_TOUCHPAD = bit(1), EVDEV_MODEL_SYNAPTICS_SERIAL_TOUCHPAD = bit(2), + EVDEV_MODEL_ALPS_SERIAL_TOUCHPAD = bit(3), EVDEV_MODEL_LENOVO_T450_TOUCHPAD = bit(4), EVDEV_MODEL_APPLE_TOUCHPAD_ONEBUTTON = bit(5), EVDEV_MODEL_LENOVO_SCROLLPOINT = bit(6), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/src/quirks.c new/libinput-1.15.3/src/quirks.c --- old/libinput-1.15.2/src/quirks.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/src/quirks.c 2020-03-06 05:39:46.000000000 +0100 @@ -229,7 +229,7 @@ quirk_get_name(enum quirk q) { switch(q) { - case QUIRK_MODEL_ALPS_TOUCHPAD: return "ModelALPSTouchpad"; + case QUIRK_MODEL_ALPS_SERIAL_TOUCHPAD: return "ModelALPSSerialTouchpad"; case QUIRK_MODEL_APPLE_TOUCHPAD: return "ModelAppleTouchpad"; case QUIRK_MODEL_APPLE_TOUCHPAD_ONEBUTTON: return "ModelAppleTouchpadOneButton"; case QUIRK_MODEL_BOUNCING_KEYS: return "ModelBouncingKeys"; @@ -574,7 +574,7 @@ const char *value) { bool b; - enum quirk q = QUIRK_MODEL_ALPS_TOUCHPAD; + enum quirk q = QUIRK_MODEL_ALPS_SERIAL_TOUCHPAD; assert(strneq(key, "Model", 5)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/src/quirks.h new/libinput-1.15.3/src/quirks.h --- old/libinput-1.15.2/src/quirks.h 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/src/quirks.h 2020-03-06 05:39:46.000000000 +0100 @@ -62,7 +62,7 @@ * Quirks known to libinput */ enum quirk { - QUIRK_MODEL_ALPS_TOUCHPAD = 100, + QUIRK_MODEL_ALPS_SERIAL_TOUCHPAD = 100, QUIRK_MODEL_APPLE_TOUCHPAD, QUIRK_MODEL_APPLE_TOUCHPAD_ONEBUTTON, QUIRK_MODEL_BOUNCING_KEYS, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/test/test-quirks.c new/libinput-1.15.3/test/test-quirks.c --- old/libinput-1.15.2/test/test-quirks.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/test/test-quirks.c 2020-03-06 05:39:46.000000000 +0100 @@ -63,6 +63,7 @@ litest_assert_int_eq(rc, (int)(strlen(dirname) + 16)); fp = fopen(filename, "w+"); + litest_assert_notnull(fp); rc = fputs(file_content, fp); fclose(fp); litest_assert_int_ge(rc, 0); @@ -1312,7 +1313,7 @@ bool exists, value = false; q = dev->quirks; - exists = quirks_get_bool(q, QUIRK_MODEL_ALPS_TOUCHPAD, &value); + exists = quirks_get_bool(q, QUIRK_MODEL_ALPS_SERIAL_TOUCHPAD, &value); if (strstr(libinput_device_get_name(device), "ALPS")) { ck_assert(exists); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/test/test-tablet.c new/libinput-1.15.3/test/test-tablet.c --- old/libinput-1.15.2/test/test-tablet.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/test/test-tablet.c 2020-03-06 05:39:46.000000000 +0100 @@ -5327,6 +5327,7 @@ START_TEST(tablet_rotation_left_handed) { +#if HAVE_LIBWACOM struct litest_device *tablet = litest_current_device(); enum litest_device_type other; struct litest_device *finger; @@ -5369,11 +5370,13 @@ out: litest_delete_device(finger); +#endif } END_TEST START_TEST(tablet_rotation_left_handed_configuration) { +#if HAVE_LIBWACOM struct litest_device *tablet = litest_current_device(); enum litest_device_type other; struct litest_device *finger; @@ -5421,11 +5424,13 @@ out: litest_delete_device(finger); +#endif } END_TEST START_TEST(tablet_rotation_left_handed_while_in_prox) { +#if HAVE_LIBWACOM struct litest_device *tablet = litest_current_device(); enum litest_device_type other; struct litest_device *finger; @@ -5512,11 +5517,13 @@ out: litest_delete_device(finger); +#endif } END_TEST START_TEST(tablet_rotation_left_handed_while_touch_down) { +#if HAVE_LIBWACOM struct litest_device *tablet = litest_current_device(); enum litest_device_type other; struct litest_device *finger; @@ -5578,11 +5585,13 @@ out: litest_delete_device(finger); +#endif } END_TEST START_TEST(tablet_rotation_left_handed_add_touchpad) { +#if HAVE_LIBWACOM struct litest_device *tablet = litest_current_device(); enum litest_device_type other; struct litest_device *finger; @@ -5630,11 +5639,13 @@ out: litest_delete_device(finger); +#endif } END_TEST START_TEST(tablet_rotation_left_handed_add_tablet) { +#if HAVE_LIBWACOM struct litest_device *finger = litest_current_device(); enum litest_device_type other; struct litest_device *tablet; @@ -5680,8 +5691,10 @@ verify_left_handed_tablet_sequence(tablet, li, enabled_to); litest_delete_device(tablet); +#endif } END_TEST + START_TEST(huion_static_btn_tool_pen) { struct litest_device *dev = litest_current_device(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/test/test-touchpad.c new/libinput-1.15.3/test/test-touchpad.c --- old/libinput-1.15.2/test/test-touchpad.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/test/test-touchpad.c 2020-03-06 05:39:46.000000000 +0100 @@ -2608,6 +2608,7 @@ START_TEST(touchpad_left_handed_rotation) { +#if HAVE_LIBWACOM struct litest_device *dev = litest_current_device(); struct libinput_device *d = dev->libinput_device; struct libinput *li = dev->libinput; @@ -2655,6 +2656,7 @@ libinput_event_destroy(event); } while ((event = libinput_get_event(li))); +#endif } END_TEST @@ -3580,8 +3582,6 @@ BTN_TOOL_TRIPLETAP, BTN_TOOL_QUADTAP, BTN_TOOL_QUINTTAP}; - dev = litest_current_device(); - if (!libevdev_has_event_code(dev->evdev, EV_KEY, map[finger_count])) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/libinput-debug-events.c new/libinput-1.15.3/tools/libinput-debug-events.c --- old/libinput-1.15.2/tools/libinput-debug-events.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/libinput-debug-events.c 2020-03-06 05:39:46.000000000 +0100 @@ -967,7 +967,7 @@ { struct libinput *li; enum tools_backend backend = BACKEND_NONE; - char *seat_or_devices[60] = {NULL}; + const char *seat_or_devices[60] = {NULL}; size_t ndevices = 0; bool grab = false; bool verbose = false; @@ -1024,7 +1024,7 @@ } backend = BACKEND_DEVICE; - seat_or_devices[ndevices++] = safe_strdup(optarg); + seat_or_devices[ndevices++] = optarg; break; case OPT_UDEV: if (backend == BACKEND_DEVICE || @@ -1034,7 +1034,7 @@ } backend = BACKEND_UDEV; - seat_or_devices[0] = safe_strdup(optarg); + seat_or_devices[0] = optarg; ndevices = 1; break; case OPT_GRAB: @@ -1064,12 +1064,11 @@ usage(); return EXIT_INVALID_USAGE; } - seat_or_devices[ndevices++] = safe_strdup(argv[optind]); + seat_or_devices[ndevices++] = argv[optind]; } while(++optind < argc); } else if (backend == BACKEND_NONE) { backend = BACKEND_UDEV; - seat_or_devices[0] = safe_strdup("seat0"); - ndevices = 1; + seat_or_devices[0] = "seat0"; } memset(&act, 0, sizeof(act)); @@ -1089,9 +1088,6 @@ if (!li) return EXIT_FAILURE; - while (ndevices-- > 0) - free(seat_or_devices[ndevices]); - mainloop(li); libinput_unref(li); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/libinput-debug-gui.c new/libinput-1.15.3/tools/libinput-debug-gui.c --- old/libinput-1.15.2/tools/libinput-debug-gui.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/libinput-debug-gui.c 2020-03-06 05:39:46.000000000 +0100 @@ -1521,7 +1521,7 @@ struct tools_options options; struct libinput *li; enum tools_backend backend = BACKEND_NONE; - char *seat_or_device[2] = {"seat0", NULL}; + const char *seat_or_device[2] = {"seat0", NULL}; bool verbose = false; if (!gtk_init_check(&argc, &argv)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/libinput-debug-tablet.c new/libinput-1.15.3/tools/libinput-debug-tablet.c --- old/libinput-1.15.2/tools/libinput-debug-tablet.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/libinput-debug-tablet.c 2020-03-06 05:39:46.000000000 +0100 @@ -511,7 +511,7 @@ struct context ctx; struct libinput *li; enum tools_backend backend = BACKEND_NONE; - char *seat_or_device[2] = {"seat0", NULL}; + const char *seat_or_device[2] = {"seat0", NULL}; struct sigaction act; bool grab = false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/libinput-list-devices.c new/libinput-1.15.3/tools/libinput-list-devices.c --- old/libinput-1.15.2/tools/libinput-list-devices.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/libinput-list-devices.c 2020-03-06 05:39:46.000000000 +0100 @@ -376,7 +376,7 @@ struct libinput *li; struct libinput_event *ev; bool grab = false; - char *seat[2] = {"seat0", NULL}; + const char *seat[2] = {"seat0", NULL}; /* This is kept for backwards-compatibility with the old libinput-list-devices */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/libinput-record.c new/libinput-1.15.3/tools/libinput-record.c --- old/libinput-1.15.2/tools/libinput-record.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/libinput-record.c 2020-03-06 05:39:46.000000000 +0100 @@ -1450,7 +1450,7 @@ osrelease = fopen("/etc/os-release", "r"); if (!osrelease) - fopen("/usr/lib/os-release", "r"); + osrelease = fopen("/usr/lib/os-release", "r"); if (osrelease) { char *distro = NULL, *version = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/libinput-replay new/libinput-1.15.3/tools/libinput-replay --- old/libinput-1.15.2/tools/libinput-replay 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/libinput-replay 2020-03-06 05:39:46.000000000 +0100 @@ -224,6 +224,7 @@ print('{} exists, please move it out of the way first'.format(overrides), file=sys.stderr) sys.exit(1) + overrides.parent.mkdir(exist_ok=True) with overrides.open('w+') as fd: fd.write('# This file was generated by libinput replay\n') fd.write('# Unless libinput replay is running right now, remove this file.\n') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/shared.c new/libinput-1.15.3/tools/shared.c --- old/libinput-1.15.2/tools/shared.c 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/shared.c 2020-03-06 05:39:46.000000000 +0100 @@ -305,11 +305,11 @@ } static struct libinput * -tools_open_device(char **paths, bool verbose, bool *grab) +tools_open_device(const char **paths, bool verbose, bool *grab) { struct libinput_device *device; struct libinput *li; - char **p = paths; + const char **p = paths; li = libinput_path_create_context(&interface, grab); if (!li) { @@ -348,7 +348,7 @@ struct libinput * tools_open_backend(enum tools_backend which, - char **seat_or_device, + const char **seat_or_device, bool verbose, bool *grab) { @@ -616,7 +616,7 @@ if (!quirks) return; - q = QUIRK_MODEL_ALPS_TOUCHPAD; + q = QUIRK_MODEL_ALPS_SERIAL_TOUCHPAD; do { if (quirks_has_quirk(quirks, q)) { const char *name; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.2/tools/shared.h new/libinput-1.15.3/tools/shared.h --- old/libinput-1.15.2/tools/shared.h 2020-02-20 04:46:26.000000000 +0100 +++ new/libinput-1.15.3/tools/shared.h 2020-03-06 05:39:46.000000000 +0100 @@ -116,7 +116,7 @@ const char *optarg, struct tools_options *options); struct libinput* tools_open_backend(enum tools_backend which, - char **seat_or_devices, + const char **seat_or_devices, bool verbose, bool *grab); void tools_device_apply_config(struct libinput_device *device,
