diff --git a/src/message_queue.c b/src/message_queue.c index b1a1a01..845b9da 100644 --- a/src/message_queue.c +++ b/src/message_queue.c @@ -134,23 +134,23 @@ void cqueue_try_send(ToxWindow *self, Tox *m) { struct chat_queue *q = self->chatwin->cqueue; struct cqueue_msg *msg = q->root; + + if (!msg) + return; + uint64_t curtime = get_unix_time(); - while (msg) { - if (msg->receipt != 0 && !timed_out(msg->last_send_try, curtime, CQUEUE_TRY_SEND_INTERVAL)) { - msg = msg->next; - continue; - } - - uint32_t receipt = 0; - - if (msg->type == OUT_MSG) - receipt = tox_send_message(m, self->num, (uint8_t *) msg->message, msg->len); - else - receipt = tox_send_action(m, self->num, (uint8_t *) msg->message, msg->len); - - msg->last_send_try = curtime; - msg->receipt = receipt; + if (msg->receipt != 0 && !timed_out(msg->last_send_try, curtime, CQUEUE_TRY_SEND_INTERVAL)) return; - } + + uint32_t receipt = 0; + + if (msg->type == OUT_MSG) + receipt = tox_send_message(m, self->num, (uint8_t *) msg->message, msg->len); + else + receipt = tox_send_action(m, self->num, (uint8_t *) msg->message, msg->len); + + msg->last_send_try = curtime; + msg->receipt = receipt; + return; } diff --git a/src/toxic.c b/src/toxic.c index 0ce4019..b23a6b6 100644 --- a/src/toxic.c +++ b/src/toxic.c @@ -761,7 +761,7 @@ void *thread_cqueue(void *data) } pthread_mutex_unlock(&Winthread.lock); - usleep(7000); + usleep(4000); } }