Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2005:
[Freeciv-Dev] (PR#13636) Cannot load on ship
Home

[Freeciv-Dev] (PR#13636) Cannot load on ship

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: chrisk@xxxxxxxxx
Subject: [Freeciv-Dev] (PR#13636) Cannot load on ship
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 10 Aug 2005 20:02:26 -0700
Reply-to: bugs@xxxxxxxxxxx

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

> [chrisk - Tue Aug 09 10:59:09 2005]:

> Under special circumstances, a unit cannot be loaded onto a ship.
> 
> See city of Düsseldorf in attached game. 8 alpines loaded on a
transport and
> an idle diplo.
> 
> Now enter city dialog an unload 1 alpine; close the dialog.
> 
> Diplo is still active idle (maybe it shouldn't?). You cannot load it
> immediately, neither with 'L' key nor menue command.
> 
> After you've moved the diplo, or pressed 'W' key, or do something
else, the
> loading is possible again.

This patch should fix it (for 2.0 only; this is already fixed in the dev
branch).

-jason

Index: client/packhand.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/client/packhand.c,v
retrieving revision 1.408.2.27
diff -p -u -r1.408.2.27 packhand.c
--- client/packhand.c   21 Jul 2005 19:32:03 -0000      1.408.2.27
+++ client/packhand.c   11 Aug 2005 03:01:27 -0000
@@ -1051,7 +1051,6 @@ static bool handle_unit_packet_common(st
       punit->activity = packet_unit->activity;
       punit->activity_target = packet_unit->activity_target;
 
-      punit->occupy = packet_unit->occupy;
       if (punit->occupy != packet_unit->occupy
          && focus_unit && focus_unit->tile == packet_unit->tile) {
        /* Special case: (un)loading a unit in a transporter on the
@@ -1059,6 +1058,7 @@ static bool handle_unit_packet_common(st
         * loaded.  Thus the orders->(un)load menu item needs updating. */
        need_update_menus = TRUE;
       }
+      punit->occupy = packet_unit->occupy;
       punit->transported_by = packet_unit->transported_by;
 
       punit->has_orders = packet_unit->has_orders;

[Prev in Thread] Current Thread [Next in Thread]