From dbf85cc4dba2d659c65f18caadad256304a1f5d1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 9 Sep 2015 16:05:15 +0200 Subject: [PATCH] x11: Declare variable for the inner loop Otherwise the outer loop control variable is messed up, and we end up with uninitialized axes if there were any more valuators after the XIKeyClass one. This bug was sneakily introduced by fdb9a8e14, many thanks to Carlos Soriano for helping spot the source of this bug. https://bugzilla.gnome.org/show_bug.cgi?id=753431 --- gdk/x11/gdkdevicemanager-xi2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index e63c35b82b..2401ff1ce7 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -214,11 +214,12 @@ translate_device_classes (GdkDisplay *display, case XIKeyClass: { XIKeyClassInfo *key_info = (XIKeyClassInfo *) class_info; + gint j; _gdk_device_set_keys (device, key_info->num_keycodes); - for (i = 0; i < key_info->num_keycodes; i++) - gdk_device_set_key (device, i, key_info->keycodes[i], 0); + for (j = 0; j < key_info->num_keycodes; j++) + gdk_device_set_key (device, j, key_info->keycodes[j], 0); } break; case XIValuatorClass: