From 92d9e370f525f0d8ce80e1168f946294c7916979 Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Fri, 10 Jul 2015 11:18:07 +0000 Subject: SkypeWeb: Crashfix. git-svn-id: http://svn.miranda-ng.org/main/trunk@14523 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/SkypeWeb/src/skype_login.cpp | 8 +++++++- protocols/SkypeWeb/src/skype_messages.cpp | 5 ++--- protocols/SkypeWeb/src/skype_proto.cpp | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) (limited to 'protocols/SkypeWeb') diff --git a/protocols/SkypeWeb/src/skype_login.cpp b/protocols/SkypeWeb/src/skype_login.cpp index 2e7d99a311..dc9c678519 100644 --- a/protocols/SkypeWeb/src/skype_login.cpp +++ b/protocols/SkypeWeb/src/skype_login.cpp @@ -26,6 +26,12 @@ void CSkypeProto::Login() requestQueue->Start(); int tokenExpires(getDword("TokenExpiresIn", 0)); ptrA login(getStringA(SKYPE_SETTINGS_ID)); + ptrA password(getStringA(SKYPE_SETTINGS_PASSWORD)); + if (login == NULL || password == NULL) + { + ProtoBroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, LOGIN_ERROR_UNKNOWN); + return; + } HistorySynced = isTerminated = false; if ((tokenExpires - 1800) > time(NULL)) OnLoginSuccess(); @@ -34,7 +40,7 @@ void CSkypeProto::Login() if (strstr(login, "@")) SendRequest(new LoginMSRequest(), &CSkypeProto::OnMSLoginFirst); else - SendRequest(new LoginOAuthRequest(login, ptrA(getStringA(SKYPE_SETTINGS_PASSWORD))), &CSkypeProto::OnLoginOAuth); + SendRequest(new LoginOAuthRequest(login, password), &CSkypeProto::OnLoginOAuth); } } diff --git a/protocols/SkypeWeb/src/skype_messages.cpp b/protocols/SkypeWeb/src/skype_messages.cpp index 019379379c..7d39add241 100644 --- a/protocols/SkypeWeb/src/skype_messages.cpp +++ b/protocols/SkypeWeb/src/skype_messages.cpp @@ -183,8 +183,7 @@ void CSkypeProto::OnPrivateMessageEvent(const JSONNode &node) DBEVENTINFO dbei = { sizeof(dbei) }; CMStringA msg; dbei.cbBlob = db_event_getBlobSize(dbevent); - mir_ptr blob((PBYTE)mir_alloc(dbei.cbBlob)); - dbei.pBlob = blob; + dbei.pBlob = mir_ptr((PBYTE)mir_alloc(dbei.cbBlob)); db_event_get(dbevent, &dbei); @@ -265,7 +264,7 @@ void CSkypeProto::OnPrivateMessageEvent(const JSONNode &node) HXML xmlNode = xmlGetNthChild(xml, _T("file"), i); if (xmlNode == NULL) break; - fileSize = atoi(_T2A(xmlGetAttrValue(xmlNode, _T("size")))); + fileSize = _ttoi(xmlGetAttrValue(xmlNode, _T("size"))); ptrA fileName(mir_utf8encodeT(xmlGetText(xmlNode))); if (fileName == NULL || fileSize == NULL) continue; diff --git a/protocols/SkypeWeb/src/skype_proto.cpp b/protocols/SkypeWeb/src/skype_proto.cpp index bf99dbe576..867dd99d7a 100644 --- a/protocols/SkypeWeb/src/skype_proto.cpp +++ b/protocols/SkypeWeb/src/skype_proto.cpp @@ -66,7 +66,7 @@ CSkypeProto::~CSkypeProto() delete requestQueue; Netlib_CloseHandle(m_hNetlibUser); m_hNetlibUser = NULL; - + CloseHandle(m_hTrouterEvent); if (m_hCallHook) DestroyHookableEvent(m_hCallHook); if (m_hPopupClassCall) -- cgit v1.2.3