[Freeciv-Dev] (PR#23744) bug in control.c (nuke)

2007-05-21 Thread Guest

http://bugs.freeciv.org/Ticket/Display.html?id=23744 >

Bug fixed, see http://rt.freeciv.org/Ticket/Display.html?id=39126

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


[Freeciv-Dev] (PR#23744) bug in control.c (nuke)

2006-11-04 Thread Patrice Bréfort

http://bugs.freeciv.org/Ticket/Display.html?id=23744 >

see the nuke processus when the function do_map_click is called:

control.c: l.1421:

void do_map_click(struct tile *ptile, enum quickselect_type qtype)
{
  struct city *pcity = map_get_city(ptile);
  struct unit *punit = player_find_unit_by_id(game.player_ptr, 
hover_unit);
  bool maybe_goto = FALSE;

  if (punit && hover_state != HOVER_NONE) {
switch (hover_state) {
[...]
case HOVER_NUKE:
  if (SINGLE_MOVE * real_map_distance(punit->tile, ptile)
  > punit->moves_left) {
append_output_window(_("Game: Too far for this unit."));
  } else {
do_unit_goto(ptile);
/* note that this will be executed by the server after the goto 
*/
if (!pcity)
  do_unit_nuke(punit);
  }
  break;
[...]

control.c: l.1626:

void do_unit_goto(struct tile *ptile)
{
  struct unit *punit = player_find_unit_by_id(game.player_ptr, 
hover_unit);

  if (hover_unit == 0 || hover_state != HOVER_GOTO)
return;
[...]

so do_unit_goto(ptile) (called l.1439) returns before doing something : so 
nuclears nukes where they are !!!
i propose you to change do_unit_goto(ptile) by send_unit_goto(punit,ptile).

Pepeto.



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