From fefcf353520ebbe9e63f59e25a85fc122a5acc7a Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Mon, 11 Sep 2023 21:43:14 +0200 Subject: Allow to resume failed transfers --- libdino/src/service/file_manager.vala | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libdino/src') diff --git a/libdino/src/service/file_manager.vala b/libdino/src/service/file_manager.vala index 89ae1ce1..2ef79d84 100644 --- a/libdino/src/service/file_manager.vala +++ b/libdino/src/service/file_manager.vala @@ -210,6 +210,8 @@ public class FileManager : StreamInteractionModule, Object { private async void download_file_internal(FileProvider file_provider, FileTransfer file_transfer, Conversation conversation) { try { + file_transfer.cancellable.reset(); + // Get meta info FileReceiveData receive_data = file_provider.get_file_receive_data(file_transfer); FileDecryptor? file_decryptor = null; @@ -246,6 +248,7 @@ public class FileManager : StreamInteractionModule, Object { File file = File.new_for_path(Path.build_filename(get_storage_dir(), filename)); OutputStream os = file.create(FileCreateFlags.REPLACE_DESTINATION); + file_transfer.cancellable.reset(); uint8[] buffer = new uint8[1024]; ssize_t read; while ((read = yield input_stream.read_async(buffer, Priority.LOW, file_transfer.cancellable)) > 0) { -- cgit v1.2.3