diff -up gdm-2.20.1/gui/modules/keymouselistener.c.keymouselistener-segfault gdm-2.20.1/gui/modules/keymouselistener.c --- gdm-2.20.1/gui/modules/keymouselistener.c.keymouselistener-segfault 2007-10-17 20:33:49.000000000 -0400 +++ gdm-2.20.1/gui/modules/keymouselistener.c 2007-10-17 21:07:58.000000000 -0400 @@ -158,13 +158,16 @@ init_xinput (GdkDisplay *display, GdkWin { #ifdef HAVE_XINPUT XEventClass event_list[40]; - int i, j, number = 0, num_devices; + int i, j, number = 0, num_devices = 0; XDeviceInfo *devices = NULL; XDevice *device = NULL; devices = XListInputDevices (GDK_DISPLAY_XDISPLAY (display), &num_devices); + if (devices == NULL) + return; + if (debug_gestures) syslog (LOG_WARNING, "checking %d input devices...", num_devices);