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

> [wsimpson - Ven. AoĆ». 17 18:37:21 2007]:
> Pepeto _ wrote:
> > 1 - Select many land units on 2 island (with Y).
> OK, I'm beginning to see where this is crazy.  Two islands?!?!
> What client are you using?  This is S2_1?
I'm using S2_1 with gtk-2.0 support.

> GTK2 'y' or 'Y' does not select units in multiple tiles.  It selects the
> same unit from among units in a stack on a single tile....
Are you sure? Here, with 'y', I select all the units with the same type
on the view.

> > 2 - Press G, then you can look at few tiles in the 2 islands to see the
> > cursor is not the same in the both island (whereas the moves are the
> > same, 1 unit in each side).
> Yes, that's true.  On one island, the cursor is 'forbidden', the other
> displays the destination.
> So, the real problem is that G is "valid" when units are selected from
> multiple tiles!
You said some times ago, that a move was valid when one of the selected
unit could do the move.

> There's a terrible interaction with the tilespec.c code, where it assumes
> that there is only one active goto path at a time.  Your patch does not
> fix the problem, just papers it over....
You are right, this is missing in my patch, but I can fix it. My patch
only prevents this crash.

> > 3 - Try to move (the both units) first on a island, and try the second.
> > One won't make any move, whereas one unit can do the move. The other
> > will crash.
> > 
> Sorry, no crash in GTK2 on a G5 iMac.  The one unit does the move.  The
> others do not move.
You tried before apply my patch, right? Because, I can assure you that
get_line_dest() the first unit destination tile, which can be the real
destination tile (then the move is right) or its own tile (the move is
wrong. When send_goto_route(), if the path of one of the unit map isn't
found (= NULL), it crashes.

Are you sure you tried to move on the both islands?

> However, based on the other report, there must be a problem when a unit
> is sent to an illegal destination.  That's worth fixing someday.
> This problem appears to be overloading the semantics of is_goto_valid,
> and is_active.  Adding another goto_tile semantic is just wrong, and
> probably introduces other problematic side-effects!
Adding a goto_tile allow to return a right tile when get_line_dest() is
called. In the actual revision, the destination tile is the one of the
first unit, which can be its own tile if a path wasn't found. If you
doesn't use a such things, it will make goto very slower. And the
tilespec.c code which you told about will be wrong.

Are you interested on a next patch, including tilespec.c fixings?

Freeciv-dev mailing list

Reply via email to