widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #18128
[Merge] lp:~widelands-dev/widelands/bug-1842396-no-tribe into lp:widelands
Notabilis has proposed merging lp:~widelands-dev/widelands/bug-1842396-no-tribe into lp:widelands.
Commit message:
Fixing crash when no tribe is selected for a multiplayer client.
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1842396 in widelands: "Random tribes crash multiplayer client"
https://bugs.launchpad.net/widelands/+bug/1842396
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1842396-no-tribe/+merge/372281
Fixing a crash with showing loading screen tips when no tribe is selected for a multiplayer client.
Seems to be a copy&paste or refactoring bug: When creating the tips as a single player or multiplayer host, the check for the thrown exception is done.
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug-1842396-no-tribe into lp:widelands.
=== modified file 'src/network/gameclient.cc'
--- src/network/gameclient.cc 2019-08-28 06:12:07 +0000
+++ src/network/gameclient.cc 2019-09-04 17:13:59 +0000
@@ -149,10 +149,14 @@
* Show progress dialog and load map or saved game.
*/
InteractiveGameBase* GameClientImpl::init_game(GameClient* parent, UI::ProgressWindow* loader) {
-
- const std::string& tribename = parent->get_players_tribe();
- assert(Widelands::tribe_exists(tribename));
- GameTips tips(*loader, {"general_game", "multiplayer", tribename});
+ std::vector<std::string> tipstext;
+ tipstext.push_back("general_game");
+ tipstext.push_back("multiplayer");
+ try {
+ tipstext.push_back(parent->get_players_tribe());
+ } catch (GameSettingsProvider::NoTribe) {
+ }
+ GameTips tips(*loader, tipstext);
modal = loader;
Follow ups