summaryrefslogtreecommitdiff
path: root/meta2/core_functions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'meta2/core_functions.cpp')
-rw-r--r--meta2/core_functions.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/meta2/core_functions.cpp b/meta2/core_functions.cpp
index 1b47bd5..38fba2c 100644
--- a/meta2/core_functions.cpp
+++ b/meta2/core_functions.cpp
@@ -21,15 +21,17 @@ HANDLE GetMetaHandle(DWORD id) {
return 0;
}
-void Meta_Hide(bool hide) {
+void Meta_Hide(bool hide_metas) {
HANDLE hContact = (HANDLE)CallService( MS_DB_CONTACT_FINDFIRST, 0, 0);
char *proto;
HANDLE hMeta;
while(hContact != NULL) {
if(IsMetacontact(hContact)) {
- DBWriteContactSettingByte(hContact, "CList", "Hidden", hide ? 1 : 0);
- } else if(IsSubcontact(hContact) && !meta_group_hack_disabled) {
- DBWriteContactSettingByte(hContact, "CList", "Hidden", hide ? 0 : 1);
+ DBWriteContactSettingByte(hContact, "CList", "Hidden", hide_metas ? 1 : 0);
+ } else if(IsSubcontact(hContact)) {
+ if(!meta_group_hack_disabled)
+ DBWriteContactSettingByte(hContact, "CList", "Hidden", hide_metas ? 0 : 1);
+ CallService(hide_metas ? MS_IGNORE_UNIGNORE : MS_IGNORE_IGNORE, (WPARAM)hContact, (WPARAM)IGNOREEVENT_USERONLINE);
}
hContact = ( HANDLE )CallService( MS_DB_CONTACT_FINDNEXT,( WPARAM )hContact, 0 );