widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #14773
[Merge] lp:~widelands-dev/widelands/bug-1791426-multiplayer-map-change into lp:widelands
GunChleoc has proposed merging lp:~widelands-dev/widelands/bug-1791426-multiplayer-map-change into lp:widelands.
Commit message:
Execute map changes in Multiplayer UI after the player slots have been set. This fixes a bug with updating the client dropdowns.
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1791426 in widelands: "Client can't select new positions when changing to larger map"
https://bugs.launchpad.net/widelands/+bug/1791426
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1791426-multiplayer-map-change/+merge/355622
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug-1791426-multiplayer-map-change into lp:widelands.
=== modified file 'src/network/gameclient.cc'
--- src/network/gameclient.cc 2018-04-21 10:57:12 +0000
+++ src/network/gameclient.cc 2018-09-26 06:07:24 +0000
@@ -584,7 +584,6 @@
// New map was set, so we clean up the buffer of a previously requested file
if (file_)
delete file_;
- Notifications::publish(NoteGameSettings(NoteGameSettings::Action::kMap));
break;
}
@@ -763,8 +762,11 @@
case NETCMD_SETTING_ALLPLAYERS: {
d->settings.players.resize(packet.unsigned_8());
- for (uint8_t i = 0; i < d->settings.players.size(); ++i)
+ for (uint8_t i = 0; i < d->settings.players.size(); ++i) {
receive_one_player(i, packet);
+ }
+ // Map changes are finished here
+ Notifications::publish(NoteGameSettings(NoteGameSettings::Action::kMap));
break;
}
case NETCMD_SETTING_PLAYER: {
=== modified file 'src/network/gamehost.cc'
--- src/network/gamehost.cc 2018-09-14 23:52:30 +0000
+++ src/network/gamehost.cc 2018-09-26 06:07:24 +0000
@@ -1472,7 +1472,6 @@
packet.string(d->settings.mapfilename);
packet.unsigned_8(d->settings.savegame ? 1 : 0);
packet.unsigned_8(d->settings.scenario ? 1 : 0);
- Notifications::publish(NoteGameSettings(NoteGameSettings::Action::kMap));
}
void GameHost::write_setting_player(SendPacket& packet, uint8_t const number) {
@@ -1491,8 +1490,11 @@
void GameHost::write_setting_all_players(SendPacket& packet) {
packet.unsigned_8(d->settings.players.size());
- for (uint8_t i = 0; i < d->settings.players.size(); ++i)
+ for (uint8_t i = 0; i < d->settings.players.size(); ++i) {
write_setting_player(packet, i);
+ }
+ // Map changes are finished here
+ Notifications::publish(NoteGameSettings(NoteGameSettings::Action::kMap));
}
void GameHost::write_setting_user(SendPacket& packet, uint32_t const number) {
Follow ups