summaryrefslogtreecommitdiff
path: root/toxcore/Messenger.c
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore/Messenger.c')
-rw-r--r--toxcore/Messenger.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c
index dc0e605a..4d4b82c1 100644
--- a/toxcore/Messenger.c
+++ b/toxcore/Messenger.c
@@ -384,12 +384,12 @@ int m_delfriend(Messenger *m, int32_t friendnumber)
384 clear_receipts(m, friendnumber); 384 clear_receipts(m, friendnumber);
385 remove_request_received(&(m->fr), m->friendlist[friendnumber].real_pk); 385 remove_request_received(&(m->fr), m->friendlist[friendnumber].real_pk);
386 friend_connection_callbacks(m->fr_c, m->friendlist[friendnumber].friendcon_id, MESSENGER_CALLBACK_INDEX, 0, 0, 0, 0, 0); 386 friend_connection_callbacks(m->fr_c, m->friendlist[friendnumber].friendcon_id, MESSENGER_CALLBACK_INDEX, 0, 0, 0, 0, 0);
387 kill_friend_connection(m->fr_c, m->friendlist[friendnumber].friendcon_id);
388 387
389 if (friend_con_connected(m->fr_c, m->friendlist[friendnumber].friendcon_id) == FRIENDCONN_STATUS_CONNECTED) { 388 if (friend_con_connected(m->fr_c, m->friendlist[friendnumber].friendcon_id) == FRIENDCONN_STATUS_CONNECTED) {
390 send_offline_packet(m, m->friendlist[friendnumber].friendcon_id); 389 send_offline_packet(m, m->friendlist[friendnumber].friendcon_id);
391 } 390 }
392 391
392 kill_friend_connection(m->fr_c, m->friendlist[friendnumber].friendcon_id);
393 memset(&(m->friendlist[friendnumber]), 0, sizeof(Friend)); 393 memset(&(m->friendlist[friendnumber]), 0, sizeof(Friend));
394 uint32_t i; 394 uint32_t i;
395 395
@@ -864,6 +864,11 @@ static void check_friend_connectionstatus(Messenger *m, int32_t friendnumber, ui
864 if (was_online) { 864 if (was_online) {
865 break_files(m, friendnumber); 865 break_files(m, friendnumber);
866 clear_receipts(m, friendnumber); 866 clear_receipts(m, friendnumber);
867 } else {
868 m->friendlist[friendnumber].name_sent = 0;
869 m->friendlist[friendnumber].userstatus_sent = 0;
870 m->friendlist[friendnumber].statusmessage_sent = 0;
871 m->friendlist[friendnumber].user_istyping_sent = 0;
867 } 872 }
868 873
869 m->friendlist[friendnumber].status = status; 874 m->friendlist[friendnumber].status = status;
@@ -1891,10 +1896,6 @@ static int handle_status(void *object, int i, uint8_t status)
1891 1896
1892 if (status) { /* Went online. */ 1897 if (status) { /* Went online. */
1893 send_online_packet(m, i); 1898 send_online_packet(m, i);
1894 m->friendlist[i].name_sent = 0;
1895 m->friendlist[i].userstatus_sent = 0;
1896 m->friendlist[i].statusmessage_sent = 0;
1897 m->friendlist[i].user_istyping_sent = 0;
1898 } else { /* Went offline. */ 1899 } else { /* Went offline. */
1899 if (m->friendlist[i].status == FRIEND_ONLINE) { 1900 if (m->friendlist[i].status == FRIEND_ONLINE) {
1900 set_friend_status(m, i, FRIEND_CONFIRMED); 1901 set_friend_status(m, i, FRIEND_CONFIRMED);