Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2004:
[Freeciv-Dev] Re: (PR#7216) take again client crash
Home

[Freeciv-Dev] Re: (PR#7216) take again client crash

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: per@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#7216) take again client crash
From: "Mike Kaufman" <kaufman@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 8 Jan 2004 21:58:24 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=7216 >

On Thu, Jan 08, 2004 at 09:50:26AM -0800, Raimar Falke wrote:
> 
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=7216 >
> 
> On Thu, Jan 08, 2004 at 04:23:54AM -0800, Per I. Mathisen wrote:
> > 
> > <URL: http://rt.freeciv.org/Ticket/Display.html?id=7216 >
> > 
> > You crash the client (gtk2, CVS HEAD) by doing 'take' twice.
> > 
> > To reproduce:
> > Start savegame. Login as 'me', then 'take me player1'.
> > Then 'take me player2'.
> > *booom*

This worked just fine pre-delta. I suggest you look for the problem there.

> map.tiles is NULL at the client. It looks like packet_map_info is
> missing somehow. However coded the take command should over it again
> and see that map related packets (packet_map_info and
> packet_game_state) match.

I'm not sure what this means. sending the command:
  send_game_state(&aconn->self, CLIENT_PRE_GAME_STATE);
to the client should make the client do the proper thing.
 
> I also propose a patch like this or similar:
> 
>  ***************************************************************/
>  struct tile *map_get_tile(int x, int y)
>  {
> +  assert(map.tiles != NULL);
>    return MAP_TILE(x, y);
>  }

absolutely not. Do you know how many times map_get_tile gets called?

-mike




[Prev in Thread] Current Thread [Next in Thread]