/* only to be called on exit blender */ void BKE_blender_free(void) { /* samples are in a global list..., also sets G_MAIN->sound->sample NULL */ /* Needs to run before main free as wm is still referenced for icons preview jobs. */ BKE_studiolight_free(); BKE_main_free(G_MAIN); G_MAIN = NULL; if (G.log.file != NULL) { fclose(G.log.file); } BKE_spacetypes_free(); /* after free main, it uses space callbacks */ IMB_exit(); BKE_cachefiles_exit(); BKE_images_exit(); DEG_free_node_types(); BKE_brush_system_exit(); RE_texture_rng_exit(); BLI_callback_global_finalize(); IMB_moviecache_destruct(); free_nodesystem(); }
/* only to be called on exit blender */ void BKE_blender_free(void) { /* samples are in a global list..., also sets G.main->sound->sample NULL */ BKE_main_free(G.main); G.main = NULL; BKE_spacetypes_free(); /* after free main, it uses space callbacks */ IMB_exit(); BKE_cachefiles_exit(); BKE_images_exit(); DAG_exit(); BKE_brush_system_exit(); RE_texture_rng_exit(); BLI_callback_global_finalize(); BKE_sequencer_cache_destruct(); IMB_moviecache_destruct(); free_nodesystem(); }