Mercurial > pidgin
diff src/ft.c @ 13107:d65fa65eac02
[gaim-migrate @ 15469]
I "inadvertently" caused file transfers to not finish in the core - this fixes it.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Fri, 03 Feb 2006 01:23:46 +0000 |
parents | 5e14039d0415 |
children | 8695e933ad64 |
line wrap: on
line diff
--- a/src/ft.c Thu Feb 02 21:34:43 2006 +0000 +++ b/src/ft.c Fri Feb 03 01:23:46 2006 +0000 @@ -855,20 +855,23 @@ } } - if (gaim_xfer_get_size(xfer) > 0) - xfer->bytes_remaining -= r; + if (r > 0) { + if (gaim_xfer_get_size(xfer) > 0) + xfer->bytes_remaining -= r; - xfer->bytes_sent += r; + xfer->bytes_sent += r; + + if (xfer->ops.ack != NULL) + xfer->ops.ack(xfer, buffer, r); - if (xfer->ops.ack != NULL) - xfer->ops.ack(xfer, buffer, r); + g_free(buffer); - g_free(buffer); + ui_ops = gaim_xfer_get_ui_ops(xfer); - ui_ops = gaim_xfer_get_ui_ops(xfer); - - if (ui_ops != NULL && ui_ops->update_progress != NULL) - ui_ops->update_progress(xfer, gaim_xfer_get_progress(xfer)); + if (ui_ops != NULL && ui_ops->update_progress != NULL) + ui_ops->update_progress(xfer, + gaim_xfer_get_progress(xfer)); + } if (gaim_xfer_is_completed(xfer)) gaim_xfer_end(xfer);