diff options
author | George Hazan <george.hazan@gmail.com> | 2024-01-28 13:20:55 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2024-01-28 13:20:55 +0300 |
commit | 9a63063543f450472a564be2df56f7c42f6b3327 (patch) | |
tree | b152f40fa45514adddcc1cb287c2f8ad2416d462 /protocols/Telegram | |
parent | 1aaf3408c2d6a47e9778347c43bffc62db75da31 (diff) |
fixes #4154 (При выключенной опции "Remove contact from server too" контакт всё равно удаляется с сервера)
Diffstat (limited to 'protocols/Telegram')
-rw-r--r-- | protocols/Telegram/src/proto.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/protocols/Telegram/src/proto.cpp b/protocols/Telegram/src/proto.cpp index f1315dc56d..a473ffaee2 100644 --- a/protocols/Telegram/src/proto.cpp +++ b/protocols/Telegram/src/proto.cpp @@ -124,9 +124,6 @@ bool CTelegramProto::OnContactDeleted(MCONTACT hContact, uint32_t flags) return false; if (auto *pUser = FindUser(id)) { - if (flags & CDF_DEL_HISTORY) - SvcEmptyServerHistory(hContact, flags); - if (pUser->m_si) { SvcLeaveChat(hContact, 0); return false; @@ -138,9 +135,14 @@ bool CTelegramProto::OnContactDeleted(MCONTACT hContact, uint32_t flags) pUser->wszLastName = getMStringW(hContact, "LastName"); } - TD::array<TD::int53> ids; - ids.push_back(id); - SendQuery(new TD::removeContacts(std::move(ids))); + if (flags & CDF_DEL_HISTORY) + SvcEmptyServerHistory(hContact, flags); + + if (flags & CDF_FROM_SERVER) { + TD::array<TD::int53> ids; + ids.push_back(id); + SendQuery(new TD::removeContacts(std::move(ids))); + } return true; } |