From 8b938cb7a60f88d82fdf120274bf059482645439 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Fri, 3 Feb 2006 10:44:29 +0100 Subject: [PATCH] NET: Move shortcut from change_connection to the two front-ends --- src/network/connection.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/network/connection.c b/src/network/connection.c index 13fd13cb3..eeb7f5201 100644 --- a/src/network/connection.c +++ b/src/network/connection.c @@ -987,14 +987,6 @@ change_connection(struct download *old, struct download *new, assert(old); if_assert_failed return; - if (is_in_result_state(old->state)) { - if (new) { - if (new->callback) - new->callback(new, new->data); - } - return; - } - check_queue_bugs(); conn = old->conn; @@ -1023,6 +1015,9 @@ change_connection(struct download *old, struct download *new, void cancel_download(struct download *download, int interrupt) { + if (is_in_result_state(download->state)) + return; + change_connection(download, NULL, PRI_CANCEL, interrupt); } @@ -1039,6 +1034,12 @@ move_download(struct download *old, struct download *new, new->state = conn->state; new->pri = newpri; + if (is_in_result_state(old->state)) { + if (new->callback) + new->callback(new, new->data); + return; + } + change_connection(old, new, newpri, 0); }