Пример #1
0
void UnLoadContactListModule()  //unhooks noncritical events
{
    UninitTrayMenu();
    UninitCustomMenus();
   // UnloadMainMenu();
   // UnloadStatusMenu();
    ModernUnhookEvent(hookOptInitialise_CList);
    ModernUnhookEvent(hookOptInitialise_Skin);
    ModernUnhookEvent(hSettingChanged);
    ModernUnhookEvent(hookContactAdded_CListSettings);
}
Пример #2
0
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();
}
Пример #3
0
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;
}
Пример #4
0
static int ContactListShutdownProc(WPARAM, LPARAM)
{
	UninitCustomMenus();
	return 0;
}
static int ContactListShutdownProc(WPARAM wParam,LPARAM lParam)
{
	UnhookEvent(hProtoAckHook);
	UninitCustomMenus();
	return 0;
}