Comment 13 for bug 179444

Revision history for this message
Benjamin Redelings (benjamin-redelings) wrote :

If I run gnome-settings-daemon from the terminal with --no-daemon, then I am able to get the following error message.

**
** ERROR:(gsd-media-keys-manager.c:911):do_action: code should not be reached
[1202571033,000,xklavier.c:xkl_engine_start_listen/] The backend does not require manual layout management - but it is provided by the applicationAborted (core dumped)

This may be frequently reported bug - it is also in bug #190003, for example.

Examining the file gsd-media-keys-manager.c, there is actually a 1-line patch that could fix this problem: simply remove "g_assert_not_reached ();"

http://svn.gnome.org/viewvc/gnome-settings-daemon/tags/GNOME_SETTINGS_DAEMON_2_21_90_2/plugins/media-keys/gsd-media-keys-manager.c?view=annotate

In the function "static gboolean do_action (GsdMediaKeysManager *manager, int type)" it is explicitly stated that the daemon should crash on media keys that are unrecognized, instead of doing nothing! Therefore, all that is needed to fix this bug is to change this...

902 case NEXT_KEY:
903 return do_multimedia_player_action (manager, "Next");
904 break;
905 default:
906 g_assert_not_reached ();
907 }
908
909 return FALSE;

... to remove the g_assert_not_reached ();

While crashing when unknown media keys are pressed may help developers, it is not terribly productive for the end user.

-BenRI