[Freeciv-Dev] (PR#15911) elusive windows client bug
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<URL: http://bugs.freeciv.org/Ticket/Display.html?id=15911 >
I have identified the problem in void handle_conn_info(struct
packet_conn_info *pinfo) in client/packhand.c.
It doesn't increase the number of players when new players join the game.
There is a flaw in both server/client - server doesn't let the client
know the number of players when the client joins the game (only after he
types /obs). Another flaw is the client doesn't differentiate between 2
pre-game states when the server is in game-running/pre-game state. So
when client joins a running game it thinks it's not running. Another
possibility is when client joins a server in pre-game state.
These 2 "pre-game" states should be separated.
When a player leaves while server is in pre-game state,
game_renumber_players() is executed and it decreases game.nplayers which
was 0 to -1 and other game structures are overwritten. This causes the
windows client to crash when player attacks.
If more than 1 player leaves then even more damage is done as
game.nplayers is decreased to -2.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Freeciv-Dev] (PR#15911) elusive windows client bug,
Guest <=
|
|