static int finalize() { static bool finalized = false; if (finalized) return 0; finalized = true; gstate.quit_activities(); #ifdef _WIN32 shutdown_idle_monitor(); #ifdef USE_WINSOCK if (WinsockCleanup()) { log_message_error("WinSockCleanup() failed"); return ERR_IO; } #endif cleanup_system_monitor(); #endif curl_cleanup(); #ifdef _DEBUG gstate.free_mem(); #endif diagnostics_finish(); gstate.cleanup_completed = true; return 0; }
int CBOINCGUIApp::OnExit() { // Shutdown the System Idle Detection code IdleTrackerDetach(); if (m_pDocument) { m_pDocument->OnExit(); delete m_pDocument; m_pDocument = NULL; } // Save Application State SaveState(); if (m_pSkinManager) { delete m_pSkinManager; m_pSkinManager = NULL; } if (m_pLocale) { delete m_pLocale; m_pLocale = NULL; } if (m_pEventLog) { m_pEventLog->Destroy(); m_pEventLog = NULL; } diagnostics_finish(); return wxApp::OnExit(); }
int CBOINCGUIApp::OnExit() { // Shutdown the System Idle Detection code IdleTrackerDetach(); // Under wxWidgets 2.8.0, the task bar icons // must be deleted for app to exit its main loop #ifdef __WXMAC__ if (m_pMacDockIcon) { delete m_pMacDockIcon; } m_pMacDockIcon = NULL; #endif if (m_pTaskBarIcon) { delete m_pTaskBarIcon; } m_pTaskBarIcon = NULL; if (m_pDocument) { m_pDocument->OnExit(); delete m_pDocument; m_pDocument = NULL; } // Save Application State SaveState(); if (m_pSkinManager) { delete m_pSkinManager; m_pSkinManager = NULL; } if (m_pLocale) { delete m_pLocale; m_pLocale = NULL; } if (m_pEventLog) { m_pEventLog->Destroy(); m_pEventLog = NULL; } if (m_pInstanceChecker) { delete m_pInstanceChecker; m_pInstanceChecker = NULL; } diagnostics_finish(); return wxApp::OnExit(); }
int CBOINCGUIApp::OnExit() { // Shutdown the System Idle Detection code IdleTrackerDetach(); if (m_pDocument) { m_pDocument->OnExit(); delete m_pDocument; m_pDocument = NULL; } m_pConfig->SetPath(wxT("/")); if (m_pSkinManager) { m_pConfig->Write(wxT("Skin"), m_pSkinManager->GetSelectedSkin()); delete m_pSkinManager; } if (m_pLocale) { delete m_pLocale; m_pLocale = NULL; } if (m_pEventLog) { m_pEventLog->Destroy(); m_pEventLog = NULL; } // Save Application State m_pConfig->Write(wxT("AutomaticallyShutdownClient"), m_iShutdownCoreClient); m_pConfig->Write(wxT("DisplayShutdownClientDialog"), m_iDisplayExitDialog); m_pConfig->Write(wxT("DisableAutoStart"), m_iBOINCMGRDisableAutoStart); diagnostics_finish(); return wxApp::OnExit(); }
// Used to cleanup the diagnostics environment. // int boinc_finish_diag() { return diagnostics_finish(); }