From f40191ff19484f2d4f4eee2906981b667161bcab Mon Sep 17 00:00:00 2001 From: Andrew Chadwick Date: Sat, 19 Nov 2016 03:26:29 +0000 Subject: [PATCH] wintab: fix skipping of odd-numbered devices Fix a regression introduced in 4ce6d1060104e7072eec347370999bfd3fe69dc0 which causes devices with an odd-numbered zero-based index in the list to be passed over incorrectly. This might present as yet another "device does not send pressure" bug for ~50% of devices out there. This commit also closes off another potential segfault for wintab_devices lists which have an odd length. https://bugzilla.gnome.org/show_bug.cgi?id=774699 --- gdk/win32/gdkdevicemanager-win32.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gdk/win32/gdkdevicemanager-win32.c b/gdk/win32/gdkdevicemanager-win32.c index 62c164d355..0d4467e8ac 100644 --- a/gdk/win32/gdkdevicemanager-win32.c +++ b/gdk/win32/gdkdevicemanager-win32.c @@ -864,10 +864,9 @@ gdk_device_manager_find_wintab_device (GdkDeviceManagerWin32 *device_manager, GdkDeviceWintab *device; GList *tmp_list; - for (tmp_list = device_manager->wintab_devices; tmp_list; tmp_list = tmp_list->next) + for (tmp_list = device_manager->wintab_devices; tmp_list != NULL; tmp_list = tmp_list->next) { device = tmp_list->data; - tmp_list = tmp_list->next; if (device->hctx == hctx && device->cursor == cursor)