--- gotodlg.c.orig Fri Mar 24 19:11:51 2000 +++ gotodlg.c Mon Mar 27 18:19:10 2000 @@ -156,18 +156,17 @@ static struct city *get_selected_city(void) { GList *selection; - gchar *string; - int len; + gchar *string, *tmp; if (!(selection=GTK_CLIST(goto_list)->selection)) return 0; gtk_clist_get_text(GTK_CLIST(goto_list), (gint)selection->data, 0, &string); - len = strlen(string); - if(len>3 && strcmp(string+len-3, "(A)")==0) { + tmp = strchr (string, '('); + if (tmp) { char name[MAX_LEN_NAME]; - mystrlcpy(name, string, MIN(sizeof(name),len-2)); + mystrlcpy(name, string, MIN(sizeof(name),tmp-string+1)); return game_find_city_by_name(name); } return game_find_city_by_name(string); @@ -194,6 +193,11 @@ if(!all_cities && i!=game.player_idx) continue; city_list_iterate(game.players[i].cities, pcity) { sz_strlcpy(name, pcity->name); + if (!pcity->is_building_unit && is_wonder (pcity->currently_building)) { + sz_strlcat(name, "("); + sz_strlcat(name, get_improvement_name (pcity->currently_building)); + sz_strlcat(name, ")"); + } if(pcity->improvements[B_AIRPORT]==1) sz_strlcat(name, "(A)"); gtk_clist_append( GTK_CLIST( goto_list ), row );