summaryrefslogtreecommitdiff
path: root/plugins/StatusManager/src/commonstatus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/StatusManager/src/commonstatus.cpp')
-rw-r--r--plugins/StatusManager/src/commonstatus.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/StatusManager/src/commonstatus.cpp b/plugins/StatusManager/src/commonstatus.cpp
index 7e83949b55..eaa5325616 100644
--- a/plugins/StatusManager/src/commonstatus.cpp
+++ b/plugins/StatusManager/src/commonstatus.cpp
@@ -298,8 +298,10 @@ static INT_PTR GetProtocolCountService(WPARAM, LPARAM)
int GetStatusFlags(const char *szProto)
{
- int flags = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_2, 0) & ~CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_5, 0);
- if (flags == 0)
+ auto f2 = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_2, 0);
+ auto f5 = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_5, 0);
+ int flags = f2 & ~f5;
+ if (flags == 0 && f5)
flags = PF2_ONLINE;
return flags;