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

When you attempt to move few units and one cannot do the move (if it's
not the first), you get a crash:
#0  pft_concat (dest_path=0x0, src_path=0x0) at pf_tools.c:841
        old_length = <value optimized out>
        __PRETTY_FUNCTION__ = "pft_concat"
#1  0x000000000041cd5f in send_goto_route () at goto.c:1151
        path = (struct pf_path *) 0x0
        i = 1
        myiter = (struct genlist_link *) 0x1d67a00
        __PRETTY_FUNCTION__ = "send_goto_route"
#2  0x000000000041b745 in do_map_click (ptile=0x1fc6ce8, qtype=SELECT_POPUP)
    at control.c:1824
        punit = <value optimized out>
        pcity = (struct city *) 0x1e01cd0
        punits = (struct unit_list *) 0x84a060
        maybe_goto = <value optimized out>
        offender = <value optimized out>
#3  0x00000000004c01a4 in butt_down_mapcanvas (w=<value optimized out>, 
    ev=0xd6f900, data=<value optimized out>) at mapctrl.c:275
        pcity = <value optimized out>
        ptile = <value optimized out>
etc...

For example, select land units from different islands and try to move on
a land or an another, if you try to move on the first unit continent,
nothing will produce, else it will crash.
I think the problem is:
struct tile *get_line_dest(void)
{
  if (is_active) {
    struct goto_map *goto_map = goto_map_list_get(goto_maps, 0);
    struct part *p = &goto_map->parts[goto_map->num_parts - 1];

    return p->end_tile;
  } else {
    return NULL;
  }
}
which check only if the first unit can do the move.

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

Reply via email to