Index: client/control.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/control.c,v retrieving revision 1.40 diff -u -r1.40 control.c --- control.c 2000/06/18 19:52:25 1.40 +++ control.c 2000/06/27 16:10:32 @@ -252,7 +252,7 @@ struct unit *panyowned = NULL, *panyother = NULL, *ptptother = NULL; /* If no units here, return nothing. */ - if (unit_list_size(&ptile->units)==0) { + if (unit_list_size(&ptile->units)==0 || ptile->known != TILE_KNOWN) { return NULL; } Index: client/packhand.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/packhand.c,v retrieving revision 1.137 diff -u -r1.137 packhand.c --- packhand.c 2000/06/25 13:16:16 1.137 +++ packhand.c 2000/06/27 16:10:40 @@ -1041,7 +1041,7 @@ ptile->known = packet->known; /* fog of war remove units */ - if (ptile->known <= TILE_KNOWN_FOGGED && old_known == TILE_KNOWN) { + if (ptile->known == TILE_KNOWN && old_known != TILE_KNOWN) { unit_list_iterate(ptile->units, punit) { client_remove_unit(punit->id); } Index: server/maphand.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/maphand.c,v retrieving revision 1.48 diff -u -r1.48 maphand.c --- maphand.c 2000/06/27 13:20:28 1.48 +++ maphand.c 2000/06/27 16:11:18 @@ -247,6 +247,9 @@ map_set_known(abs_x, abs_y, pplayer); + /* send info about the tile itself */ + send_tile_info(pplayer, abs_x, abs_y); + /*discover units*/ unit_list_iterate(map_get_tile(abs_x, abs_y)->units, punit) send_unit_info(pplayer, punit); @@ -256,9 +259,6 @@ reality_check_city(pplayer, abs_x, abs_y); if((pcity=map_get_city(abs_x, abs_y))) send_city_info(pplayer, pcity); - - /* send info about the tile itself */ - send_tile_info(pplayer, abs_x, abs_y); } else map_change_seen(abs_x, abs_y, playerid, +1); }