//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //endPlugin //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void endPlugin(HINSTANCE hMainInstance) { if (plugin_load) plugin_shutdown(true); #ifdef _DEBUG //Memory leak tracking - not used in production version _CrtDumpMemoryLeaks(); #endif }
void hub_plugins_unload(struct hub_info* hub) { if (hub->plugins) { plugin_shutdown(hub->plugins); hub_free(hub->plugins); hub->plugins = 0; } }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //endPlugin //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void endPlugin(HINSTANCE hMainInstance) { if (plugin_load) plugin_shutdown(true); if(locale){ _free_locale(locale); locale = NULL; } if(com_initialized){ _Module.Term(); ::CoUninitialize(); com_initialized = false; } #ifdef _DEBUG //Memory leak tracking - not used in production version _CrtDumpMemoryLeaks(); #endif }
void xchat_exit (void) { xchat_is_quitting = TRUE; in_xchat_exit = TRUE; #if 0 plugin_shutdown(); #endif fe_cleanup (); if (prefs.autosave) { save_config (); if (prefs.save_pevents) pevent_save (NULL); } if (prefs.autosave_url) url_autosave (); notify_save (); ignore_save (); free_sessions (); fe_exit (); }