diff options
Diffstat (limited to 'libdino/src/entity/file_transfer.vala')
| -rw-r--r-- | libdino/src/entity/file_transfer.vala | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libdino/src/entity/file_transfer.vala b/libdino/src/entity/file_transfer.vala index 49ff2aa3..52347028 100644 --- a/libdino/src/entity/file_transfer.vala +++ b/libdino/src/entity/file_transfer.vala @@ -224,7 +224,7 @@ public class FileTransfer : Object { } foreach (Xep.StatelessFileSharing.Source source in sfs_sources) { - add_sfs_source(source); + persist_source(source); } notify.connect(on_update); @@ -234,7 +234,13 @@ public class FileTransfer : Object { if (sfs_sources.contains(source)) return; // Don't add the same source twice. Might happen due to MAM and lacking deduplication. sfs_sources.add(source); + if (id != -1) { + persist_source(source); + } + sources_changed(); + } + private void persist_source(Xep.StatelessFileSharing.Source source) { Xep.StatelessFileSharing.HttpSource? http_source = source as Xep.StatelessFileSharing.HttpSource; if (http_source != null) { db.sfs_sources.insert() @@ -243,8 +249,6 @@ public class FileTransfer : Object { .value(db.sfs_sources.data, http_source.url) .perform(); } - - sources_changed(); } public File? get_file() { |
