Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2005:
[Freeciv-Dev] (PR#12637) patrol destination at enemy unit
Home

[Freeciv-Dev] (PR#12637) patrol destination at enemy unit

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: ericp@xxxxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#12637) patrol destination at enemy unit
From: "Mateusz Stefek" <mstefek@xxxxxxxxx>
Date: Sat, 26 Mar 2005 02:00:53 -0800
Reply-to: bugs@xxxxxxxxxxx

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

> [ericp@xxxxxxxxxxxxx - Fri Mar 25 13:28:02 2005]:
> 
> One of my destroyers is trapped in a long narrow river and is interdicted
> by another ship in an adjecent tile. I managed to poof the client - no
> errors or crash reports, the client just vanished - by simply trying to
> patrol the destroyer between its current tile and the occupied tile next
> to it.
> 
> Load the attached save game, select the destroyer and press Q, then select
> the tile with the blocking ship.
> 
This is because patrol code tries to find return path and dies().
I thinks this patch is enough.
--
mateusz
Index: client/control.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/client/control.c,v
retrieving revision 1.164
diff -u -r1.164 control.c
--- client/control.c    23 Mar 2005 17:49:37 -0000      1.164
+++ client/control.c    26 Mar 2005 10:00:25 -0000
@@ -1696,7 +1696,8 @@
 
   draw_line(ptile);
   dest_tile = get_line_dest();
-  if (ptile == dest_tile) {
+  if (ptile == dest_tile
+      && !is_non_allied_unit_tile(ptile, unit_owner(punit))) {
     send_patrol_route(punit);
   } else {
     append_output_window(_("Didn't find a route to the destination!"));

[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#12637) patrol destination at enemy unit, Mateusz Stefek <=