<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40384 >

On 7/19/08, Marko Lindqvist <[EMAIL PROTECTED]> wrote:
>
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=40384 >
>
> 2008/7/19 Jason Dorje Short <[EMAIL PROTECTED]>:
>>
>> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=40384 >
>>
>> On 7/19/08, Marko Lindqvist <[EMAIL PROTECTED]> wrote:
>>>
>>> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=40384 >
>>>
>>>  With altering movement phase can end being 32, causing crash in
>>> client update_info_label(). Fix attached.
>>
>> I'm pretty sure that's intentional in the server.
>
>  True, but it causes client crash due to illegal phase. Client cannot
> handle 'between turns' -phase. In S2_2/TRUNK special handling for this
> case should be added to client end. I'm not sure about S2_1. I need to
> investigate more carefully how phase and turn states interact.

It's only illegal in that particular assertion.  Fix the assertion and
that is fixed!  Though for backwards compatibility with old clients
2.1 may prefer a workaround.

>>  While the server is
>> handling between-turn things, nobody gets to move, hence the phase is
>> set to nobody (it could be -1 or game.nplayers).  Setting it to 0 is
>> wrong as this will tell player 0 to go ahead and move which is not
>> right at all.
>
>  Note that 1) it's still between end turn and begin turn packets 2)
> there is no start phase packet sent (illegal phase number just 'leaks'
> to client side as part of game info structure)

I'm not actually sure that the phase matters at all between turns.
But if it DOES, the correct value would be one that isn't equal to any
player's number.

-jason



_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to