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

> [guest - Sa 10. Nov 2007, 00:41:14]:
> On Windows Vista (fully updated), latest SDL client of Freeciv, Freeciv
> will dependably crash if the follow steps are taken:
> 1. Install Freeciv
> 2. Run civclient.exe
> 3. Select "Start New Game"
> 4. Hit "Start"
> 5. When the game starts, move a unit in the same territory as a hut.
> 6. Hit Esc, then select "Leave game"
> 7. Repeat steps 3 and 4
> 7. End the turn
> Freeciv crashes.

I could also reproduce the crash with the GTK+ client:

1. start new game
2. move mouse cursor over the map
3. leave game
4. start new game, but don't move the mouse cursor over the map
5. end the turn

The problem seems to be in handle_mouse_cursor(): if "ptile" (the tile
under the mouse cursor) is NULL, then "hover_tile" (the tile that was
under the mouse cursor last time) gets evaluated, but since "hover_tile"
gets only set after the call to handle_mouse_cursor() and is not reset
to NULL between games, it may still contain a pointer to a tile from the
previous game. So the obvious fix would be to reset "hover_tile" to NULL
at some place after a new game has started, but then again, at the
moment I don't really understand why a tile-specific mouse cursor is to
be shown at all when the mouse cursor is not over a tile anymore. Can
somebody explain?

Freeciv-dev mailing list

Reply via email to