From 602d9d97c136c44854a54ae09a0185783be7f42b Mon Sep 17 00:00:00 2001 From: jfreegman Date: Wed, 22 Dec 2021 14:53:09 -0500 Subject: [PATCH] Send file control cancel when we block or delete a friend --- src/file_transfers.c | 6 +++++- src/friendlist.c | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/file_transfers.c b/src/file_transfers.c index 1e67ec2..b3cc48e 100644 --- a/src/file_transfers.c +++ b/src/file_transfers.c @@ -349,7 +349,11 @@ void close_file_transfer(ToxWindow *self, Tox *m, FileTransfer *ft, int CTRL, co } if (CTRL >= 0) { - tox_file_control(m, ft->friendnumber, ft->filenumber, (Tox_File_Control) CTRL, NULL); + Tox_Err_File_Control err; + + if (!tox_file_control(m, ft->friendnumber, ft->filenumber, (Tox_File_Control) CTRL, &err)) { + fprintf(stderr, "Failed to cancel file transfer: %d\n", err); + } } if (message && self) { diff --git a/src/friendlist.c b/src/friendlist.c index 6f9c6fd..d769d52 100644 --- a/src/friendlist.c +++ b/src/friendlist.c @@ -692,6 +692,9 @@ static void select_friend(wint_t key, int *selected, int num) static void delete_friend(Tox *m, uint32_t f_num) { + kill_all_file_transfers_friend(m, f_num); + kill_avatar_file_transfers_friend(m, f_num); + Tox_Err_Friend_Delete err; if (tox_friend_delete(m, f_num, &err) != true) { @@ -840,9 +843,7 @@ void block_friend(Tox *m, uint32_t fnum) realloc_blocklist(Blocked.max_idx + 1); clear_blocklist_index(Blocked.max_idx); - int i; - - for (i = 0; i <= Blocked.max_idx; ++i) { + for (int i = 0; i <= Blocked.max_idx; ++i) { if (Blocked.list[i].active) { continue; }