unknown-horizons/unknown-horizons — pull request #2232 by pinkfloyda (2014-01-18 13:29:01+00:00)
Title: Resolve issue #2136 + Some fixups

1. delegate player name and color savings to a central function save_settings() in PlayerDataSelection, this is called by SinglePlayerMenu and MultiplayerMenu's hide()
2. PlayerDataSelection's set_player_name() and set_color() only changes the display, all the savings are delegated to save_settings(), which can minimize data saving every time change color or player_name.
3. Track whether the MultiplayerMenu is open or not (instead of shown or not, cause show() can be called multiple times, if MP sub-menu opens), this helps subscribe and unsubscribe "error" in NetworkInterface()

Please review and comment. :-)