void UnLoadContactListModule() //unhooks noncritical events { UninitTrayMenu(); UninitCustomMenus(); // UnloadMainMenu(); // UnloadStatusMenu(); ModernUnhookEvent(hookOptInitialise_CList); ModernUnhookEvent(hookOptInitialise_Skin); ModernUnhookEvent(hSettingChanged); ModernUnhookEvent(hookContactAdded_CListSettings); }
void UnloadClcModule() { if (!bModuleInitialized) return; for (int i = 0; i < arEvents.getCount(); i++) UnhookEvent(arEvents[i]); mir_free(cli.clcProto); WindowList_Destroy(hClcWindowList); hClcWindowList = NULL; FreeDisplayNameCache(); UninitCustomMenus(); UninitGenMenu(); }
static int ContactListShutdownProc(WPARAM wParam,LPARAM lParam) { HANDLE hContact,hNext; //remove transitory contacts hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0); while(hContact!=NULL) { hNext=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,0); if(DBGetContactSettingByte(hContact,"CList","NotOnList",0)) CallService(MS_DB_CONTACT_DELETE,(WPARAM)hContact,0); hContact=hNext; } ImageList_Destroy(hCListImages); UnhookEvent(hProtoAckHook); UnhookEvent(hSettingChanged); UninitCustomMenus(); UninitCListEvents(); FreeDisplayNameCache(&lContactsCache); if (protoIconIndex) mir_free(protoIconIndex); DestroyHookableEvent(hContactDoubleClicked); return 0; }
static int ContactListShutdownProc(WPARAM, LPARAM) { UninitCustomMenus(); return 0; }
static int ContactListShutdownProc(WPARAM wParam,LPARAM lParam) { UnhookEvent(hProtoAckHook); UninitCustomMenus(); return 0; }