diff -ruN control-center-2.10.2.orig/gnome-settings-daemon/gnome-settings-multimedia-keys.c control-center-2.10.2/gnome-settings-daemon/gnome-settings-multimedia-keys.c --- control-center-2.10.2.orig/gnome-settings-daemon/gnome-settings-multimedia-keys.c 2005-12-08 23:22:53.000000000 -0800 +++ control-center-2.10.2/gnome-settings-daemon/gnome-settings-multimedia-keys.c 2005-12-08 22:27:10.000000000 -0800 @@ -330,7 +330,8 @@ break; key = g_new0 (Key, 1); - if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE) + if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE + || key->keycode == 0) { g_free (key); break; @@ -366,7 +367,8 @@ break; key = g_new0 (Key, 1); - if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE) + if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE + || key->keycode == 0) { g_free (key); break; @@ -443,7 +445,8 @@ } key = g_new0 (Key, 1); - if (!egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state)) + if (!egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) + || key->keycode == 0) { g_free (tmp); g_free (key); @@ -473,7 +476,8 @@ } key = g_new0 (Key, 1); - if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE) + if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE + || key->keycode == 0) { g_free (tmp); g_free (key);