summaryrefslogtreecommitdiff
path: root/metacontacts/meta_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'metacontacts/meta_utils.c')
-rw-r--r--metacontacts/meta_utils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/metacontacts/meta_utils.c b/metacontacts/meta_utils.c
index 8758c3b..7ece0fe 100644
--- a/metacontacts/meta_utils.c
+++ b/metacontacts/meta_utils.c
@@ -485,8 +485,8 @@ HANDLE Meta_GetMostOnlineSupporting(HANDLE hMeta, int pflagnum, unsigned long ca
proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)most_online_contact, 0);
caps = proto ? CallProtoService(proto, PS_GETCAPS, (WPARAM)pflagnum, 0) : 0;
if(proto && strcmp(proto, "IRC") == 0) caps |= PF1_IM;
- // we are forced to do use default for sending
- if(proto && (caps & capability) == capability && DBGetContactSettingByte(hMeta, META_PROTO, "ForceDefault", 0) && capability != 0) // capability is 0 when we're working out status
+ // we are forced to do use default for sending - '-1' capability indicates no specific capability, but respect 'Force Default'
+ if(proto && DBGetContactSettingByte(hMeta, META_PROTO, "ForceDefault", 0) && capability != 0 && (capability == -1 || (caps & capability) == capability)) // capability is 0 when we're working out status
return most_online_contact;
// a subcontact is being temporarily 'forced' to do sending