summaryrefslogtreecommitdiff
path: root/meta2/api.cpp
diff options
context:
space:
mode:
authorsje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-10-03 08:03:17 +0000
committersje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-10-03 08:03:17 +0000
commitf99d18dd83625a753a7171e807b404345b11de4d (patch)
tree3e05a5a78611fb447951ed800355bd335c1b2b2c /meta2/api.cpp
parente52098965bc45872cff2d99147b0c27769c146f0 (diff)
fix major bug in 'get most online supporting cap' function
notify of subcontact change on any subcontact status change calculate subcontacts and meta status after modules loaded use meta map for contact count git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@342 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'meta2/api.cpp')
-rw-r--r--meta2/api.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/meta2/api.cpp b/meta2/api.cpp
index 03e3c71..73f5adc 100644
--- a/meta2/api.cpp
+++ b/meta2/api.cpp
@@ -260,14 +260,18 @@ int ModulesLoadedAPI(WPARAM wParam, LPARAM lParam) {
DBWriteContactSettingByte(hContact, MODULE, "IsSubcontact", 1);
} else
DBDeleteContactSetting(hContact, MODULE, "ParentMetaID");
- } else if(IsMetacontact(hContact)) {
- meta_count++;
- DBWriteContactSettingWord(hContact, MODULE, "Status", ID_STATUS_OFFLINE);
}
hContact = ( HANDLE )CallService( MS_DB_CONTACT_FINDNEXT,( WPARAM )hContact, 0 );
}
+ hContact = (HANDLE)CallService( MS_DB_CONTACT_FINDFIRST, 0, 0);
+ while(hContact != NULL) {
+ if(IsMetacontact(hContact))
+ Meta_CalcStatus(hContact);
+ hContact = ( HANDLE )CallService( MS_DB_CONTACT_FINDNEXT,( WPARAM )hContact, 0 );
+ }
+
return 0;
}
@@ -301,8 +305,8 @@ void InitAPI() {
hEventUnforceSend = CreateHookableEvent(ME_MC_UNFORCESEND);
hSubcontactsChanged = CreateHookableEvent(ME_MC_SUBCONTACTSCHANGED);
- //hEventModulesLoadedAPI = HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoadedAPI);
- ModulesLoadedAPI(0, 0);
+ hEventModulesLoadedAPI = HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoadedAPI);
+ //ModulesLoadedAPI(0, 0);
}
void DeinitAPI() {