summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
authorRobert Pösel <robyer@seznam.cz>2013-05-10 09:16:40 +0000
committerRobert Pösel <robyer@seznam.cz>2013-05-10 09:16:40 +0000
commitd24645fbab9c7c0af0680c61b20a026b1bd42820 (patch)
treee4dd87073fab64ddcfe525be51c1f95a2edb2895 /protocols
parent386027286f7c2eb71ef8175d34745fdd712468ab (diff)
Skype: Fixed behavior of setting unsupported global statuses again (unsane: don't remove it, it's needed)
git-svn-id: http://svn.miranda-ng.org/main/trunk@4614 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols')
-rw-r--r--protocols/Skype/src/skype_proto.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/protocols/Skype/src/skype_proto.cpp b/protocols/Skype/src/skype_proto.cpp
index 8c30b01b5c..692f924a54 100644
--- a/protocols/Skype/src/skype_proto.cpp
+++ b/protocols/Skype/src/skype_proto.cpp
@@ -371,6 +371,21 @@ int __cdecl CSkypeProto::SetApparentMode(HANDLE hContact, int mode) { return 0;
int CSkypeProto::SetStatus(int new_status)
{
+ switch (new_status)
+ {
+ case ID_STATUS_OCCUPIED:
+ new_status = ID_STATUS_DND;
+ break;
+ case ID_STATUS_FREECHAT:
+ new_status = ID_STATUS_ONLINE;
+ break;
+ case ID_STATUS_ONTHEPHONE:
+ case ID_STATUS_OUTTOLUNCH:
+ case ID_STATUS_NA:
+ new_status = ID_STATUS_AWAY;
+ break;
+ }
+
if (new_status == this->m_iDesiredStatus)
return 0;