diff options
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/SkypeWeb/src/skype_chatrooms.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/protocols/SkypeWeb/src/skype_chatrooms.cpp b/protocols/SkypeWeb/src/skype_chatrooms.cpp index 9b915c81aa..3123c3cc50 100644 --- a/protocols/SkypeWeb/src/skype_chatrooms.cpp +++ b/protocols/SkypeWeb/src/skype_chatrooms.cpp @@ -315,6 +315,8 @@ void CSkypeProto::OnChatEvent(JSONNODE *node) target = ParseUrl(xtarget, "8:");
+ if (FindChatRoom(chatname) == NULL) StartChatRoom(_A2T(chatname), topic);
+
AddChatContact(_A2T(chatname), target, target, L"User");
}
else if (!mir_strcmpi(messageType, "ThreadActivity/DeleteMember"))
@@ -632,15 +634,15 @@ INT_PTR CSkypeProto::GcCreateDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR if (int hItem = SendMessage(hwndClist, CLM_FINDCONTACT, hContact, 0)) {
if (SendMessage(hwndClist, CLM_GETCHECKMARK, (WPARAM)hItem, 0)) {
- ptrA uid(db_get_sa(hContact, ppro->m_szModuleName, SKYPE_SETTINGS_ID));
- uids.insert(uid);
+ uids.insert(db_get_sa(hContact, ppro->m_szModuleName, SKYPE_SETTINGS_ID));
}
}
}
+ uids.insert(ppro->getStringA(SKYPE_SETTINGS_ID));
TCHAR tszTitle[1024];
GetDlgItemText(hwndDlg, IDC_TITLE, tszTitle, SIZEOF(tszTitle));
- ppro->CreateNewChat(uids, tszTitle);
+ ppro->SendRequest(new CreateChatroomRequest(ppro->RegToken, uids, ppro->getStringA(SKYPE_SETTINGS_ID), ppro->Server));
for (int i = 0; i < uids.getCount(); i++)
mir_free(uids[i]);
uids.destroy();
@@ -649,11 +651,4 @@ INT_PTR CSkypeProto::GcCreateDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR }
}
return FALSE;
-}
-
-void CSkypeProto::CreateNewChat(LIST<char> &uids, LPCTSTR ptszTitle)
-{
- if (!IsOnline())
- return;
- SendRequest(new CreateChatroomRequest(RegToken, uids, m_szModuleName, Server));
}
\ No newline at end of file |