diff options
Diffstat (limited to 'metacontacts/meta_utils.c')
-rw-r--r-- | metacontacts/meta_utils.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/metacontacts/meta_utils.c b/metacontacts/meta_utils.c index 2c00ddc..e6d1706 100644 --- a/metacontacts/meta_utils.c +++ b/metacontacts/meta_utils.c @@ -1182,14 +1182,17 @@ void Meta_RestoreGroup(HANDLE hContact) { }
void Meta_SetGroup(HANDLE hContact) {
- char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0);
+ char *proto, *uid;
if(meta_group_hack_disabled) return; // clist has called api function to disable group hack - yay!
// the existence of this service means that clist_meta_mw is active and will do the hiding for us
if(ServiceExists(MS_CLUI_METASUPPORT)) return;
- if(proto && !strcmp(JABBER_UNIQUE_ID_SETTING, (char *)CallProtoService(proto, PS_GETCAPS, PFLAG_UNIQUEIDSETTING, 0))) {
+ proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0);
+ uid = (char *)CallProtoService(proto, PS_GETCAPS, PFLAG_UNIQUEIDSETTING, 0);
+
+ if(proto && uid && (int)uid != CALLSERVICE_NOTFOUND && !strcmp(JABBER_UNIQUE_ID_SETTING, uid)) {
// if it's a jabber contact, hide it, and record the fact that it was us who did
DBWriteContactSettingByte(hContact, META_PROTO, "Hidden", 1);
DBWriteContactSettingByte(hContact, "CList", "Hidden", 1);
|