Index: client/packhand.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/packhand.c,v retrieving revision 1.133 diff -u -r1.133 packhand.c --- packhand.c 2000/06/18 19:52:25 1.133 +++ packhand.c 2000/06/19 22:40:09 @@ -1024,9 +1024,10 @@ /* fog of war remove units */ if (ptile->known <= TILE_KNOWN_FOGGED && old_known == TILE_KNOWN) { unit_list_iterate(ptile->units, punit) { - client_remove_unit(punit->id); - } - unit_list_iterate_end; + if (punit->owner != game.playeridx) { + client_remove_unit(punit->id); + } + } unit_list_iterate_end; } /* update continents */ Index: server/unitfunc.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/unitfunc.c,v retrieving revision 1.181 diff -u -r1.181 unitfunc.c --- unitfunc.c 2000/06/18 21:22:59 1.181 +++ unitfunc.c 2000/06/19 22:40:15 @@ -3502,9 +3502,13 @@ !(pplayer->ai.control)) { set_unit_activity(punit, ACTIVITY_SENTRY); } - send_unit_info_to_onlookers(0, punit, src_x, src_y, 0, 0); + /* Do this _before_ we send the unit info to give the players a + chance to see the updated territory/cities before the focus control + moves the mapview. */ handle_unit_move_consequences(punit, src_x, src_y, dest_x, dest_y); + + send_unit_info_to_onlookers(0, punit, src_x, src_y, 0, 0); connection_do_unbuffer(pplayer->conn);