Index: common/city.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/common/city.c,v retrieving revision 1.159 diff -u -r1.159 city.c --- common/city.c 2002/05/28 22:39:10 1.159 +++ common/city.c 2002/06/06 20:52:05 @@ -1979,6 +1979,8 @@ **************************************************************************/ void generic_city_refresh(struct city *pcity) { + int prev_tile_trade = pcity->tile_trade; + set_food_trade_shields(pcity); citizen_happy_size(pcity); set_tax_income(pcity); /* calc base luxury, tax & bulbs */ @@ -1989,6 +1991,18 @@ city_support(pcity); /* manage settlers, and units */ citizen_happy_wonders(pcity); /* happy wonders & fundamentalism */ unhappy_city_check(pcity); + + if (pcity->tile_trade != prev_tile_trade) { + int i; + + for (i = 0; i < NUM_TRADEROUTES; i++) { + struct city *pcity2 = find_city_by_id(pcity->trade[i]); + + if (pcity2) { + generic_city_refresh(pcity2); + } + } + } } /**************************************************************************