static int OnShutdown(WPARAM, LPARAM) { Popup_UnregisterClass(hPopupError); Popup_UnregisterClass(hPopupNotify); return 0; }
int CMsnProto::OnPreShutdown(WPARAM, LPARAM) { SetEvent(hevAvatarQueue); Popup_UnregisterClass(hPopupError); Popup_UnregisterClass(hPopupHotmail); Popup_UnregisterClass(hPopupNotify); return 0; }
// OnPreShutdown - prepare a global Miranda shutdown int CMsnProto::OnPreShutdown(WPARAM, LPARAM) { g_bTerminated = true; ReleaseSemaphore(hevAvatarQueue, 1, NULL); Popup_UnregisterClass(hPopupError); Popup_UnregisterClass(hPopupHotmail); Popup_UnregisterClass(hPopupNotify); return 0; }
CVkProto::~CVkProto() { debugLogA("CVkProto::~CVkProto"); Netlib_CloseHandle(m_hNetlibUser); m_hNetlibUser = NULL; UninitQueue(); UnInitMenus(); if (m_hPopupClassError) Popup_UnregisterClass(m_hPopupClassError); if (m_hPopupClassNotification) Popup_UnregisterClass(m_hPopupClassNotification); { mir_cslock lck(csInstances); vk_Instances.remove(this); } }
FacebookProto::~FacebookProto() { // Uninit popup classes for (std::vector<HANDLE>::size_type i = 0; i < popupClasses.size(); i++) Popup_UnregisterClass(popupClasses[i]); popupClasses.clear(); Netlib_CloseHandle(m_hNetlibUser); WaitForSingleObject(signon_lock_, IGNORE); WaitForSingleObject(avatar_lock_, IGNORE); WaitForSingleObject(log_lock_, IGNORE); WaitForSingleObject(facy.buddies_lock_, IGNORE); WaitForSingleObject(facy.send_message_lock_, IGNORE); WaitForSingleObject(facy.notifications_lock_, IGNORE); WaitForSingleObject(facy.cookies_lock_, IGNORE); CloseHandle(signon_lock_); CloseHandle(avatar_lock_); CloseHandle(log_lock_); CloseHandle(update_loop_lock_); CloseHandle(facy.buddies_lock_); CloseHandle(facy.send_message_lock_); CloseHandle(facy.fcb_conn_lock_); CloseHandle(facy.notifications_lock_); CloseHandle(facy.cookies_lock_); }
GGPROTO::~GGPROTO() { #ifdef DEBUGMODE debugLogA("~GGPROTO(): destroying protocol interface"); #endif // Destroy modules block_uninit(); img_destroy(); keepalive_destroy(); gc_destroy(); Popup_UnregisterClass(hPopupError); Popup_UnregisterClass(hPopupNotify); if (hMenuRoot) CallService(MS_CLIST_REMOVEMAINMENUITEM, (WPARAM)hMenuRoot, 0); // Close handles Netlib_CloseHandle(m_hNetlibUser); // Destroy mutexes DeleteCriticalSection(&sess_mutex); DeleteCriticalSection(&ft_mutex); DeleteCriticalSection(&img_mutex); DeleteCriticalSection(&modemsg_mutex); DeleteCriticalSection(&avatar_mutex); DeleteCriticalSection(&sessions_mutex); #ifdef DEBUGMODE debugLogA("~GGPROTO(): DeleteCriticalSections. OK"); #endif // Free status messages if (modemsg.online) mir_free(modemsg.online); if (modemsg.away) mir_free(modemsg.away); if (modemsg.dnd) mir_free(modemsg.dnd); if (modemsg.freechat) mir_free(modemsg.freechat); if (modemsg.invisible) mir_free(modemsg.invisible); if (modemsg.offline) mir_free(modemsg.offline); }
static int OnShutdown(WPARAM, LPARAM) { Popup_UnregisterClass(hPopupClass); return 0; }
void CSametimeProto::UnregisterPopups() { debugLog(_T("CSametimeProto::RegisterPopups()")); Popup_UnregisterClass(hPopupError); Popup_UnregisterClass(hPopupNotify); }