=================== idDeclManagerLocal::Shutdown =================== */
| 883 | =================== |
| 884 | */ |
| 885 | void idDeclManagerLocal::Shutdown( void ) { |
| 886 | int i, j; |
| 887 | idDeclLocal *decl; |
| 888 | |
| 889 | // free decls |
| 890 | for ( i = 0; i < DECL_MAX_TYPES; i++ ) { |
| 891 | for ( j = 0; j < linearLists[i].Num(); j++ ) { |
| 892 | decl = linearLists[i][j]; |
| 893 | if ( decl->self != NULL ) { |
| 894 | decl->self->FreeData(); |
| 895 | delete decl->self; |
| 896 | } |
| 897 | if ( decl->textSource ) { |
| 898 | Mem_Free( decl->textSource ); |
| 899 | decl->textSource = NULL; |
| 900 | } |
| 901 | delete decl; |
| 902 | } |
| 903 | linearLists[i].Clear(); |
| 904 | hashTables[i].Free(); |
| 905 | } |
| 906 | |
| 907 | // free decl files |
| 908 | loadedFiles.DeleteContents( true ); |
| 909 | |
| 910 | // free the decl types and folders |
| 911 | declTypes.DeleteContents( true ); |
| 912 | declFolders.DeleteContents( true ); |
| 913 | |
| 914 | #ifdef USE_COMPRESSED_DECLS |
| 915 | ShutdownHuffman(); |
| 916 | #endif |
| 917 | } |
| 918 | |
| 919 | /* |
| 920 | =================== |
nothing calls this directly
no test coverage detected