Binary files freeciv-cvs/amiga/vbcc_68k/libamigaserver.dir and freeciv-mod/amiga/vbcc_68k/libamigaserver.dir differ Binary files freeciv-cvs/amiga/vbcc_warpos/libamigaserver.dir and freeciv-mod/amiga/vbcc_warpos/libamigaserver.dir differ Binary files freeciv-cvs/client/gui-mui/transparentstringclass.c.bak.i and freeciv-mod/client/gui-mui/transparentstringclass.c.bak.i differ Binary files freeciv-cvs/client/gui-mui/transparentstringclass.h.bak.i and freeciv-mod/client/gui-mui/transparentstringclass.h.bak.i differ diff -Nur -X no.freeciv freeciv-cvs/client/packhand.c freeciv-mod/client/packhand.c --- freeciv-cvs/client/packhand.c Thu Sep 21 09:36:41 2000 +++ freeciv-mod/client/packhand.c Thu Sep 28 20:41:22 2000 @@ -17,6 +17,7 @@ #include #include #include +#include #include #include "capability.h" @@ -340,8 +341,28 @@ handle_city_packet_common(pcity, city_is_new, popup); /* update the descriptions if necessary */ - if (update_descriptions) { - update_city_descriptions(); + if (update_descriptions && tile_visible_mapcanvas(pcity->x,pcity->y)) { + /* update it only every second (because of ChangeAll), this is not + a perfect solution at all! */ + static int timer_initialized; + static time_t timer; + int really_update = 1; + time_t new_timer = time(NULL); + + if (timer_initialized) { + double diff; + timer = time(NULL); + diff = difftime(new_timer,timer); + if (diff < 1.0) { + really_update = 0; + } + } + + if (really_update) { + update_city_descriptions(); + timer = new_timer; + timer_initialized = 1; + } } } @@ -521,7 +542,7 @@ handle_city_packet_common(pcity, city_is_new, 0); /* update the descriptions if necessary */ - if (update_descriptions) { + if (update_descriptions && tile_visible_mapcanvas(pcity->x,pcity->y)) { update_city_descriptions(); } } Binary files freeciv-cvs/common/packets.mdbi and freeciv-mod/common/packets.mdbi differ