Remove DCCs when finished.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 11 Apr 2013 20:11:15 +0000 (22:11 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 11 Apr 2013 20:11:15 +0000 (22:11 +0200)
src/main/java/net/pterodactylus/xdcc/core/Core.java

index e3b981b..077ba9d 100644 (file)
@@ -408,6 +408,7 @@ public class Core extends AbstractIdleService {
                        File file = new File(download.filename());
                        file.renameTo(new File(finalDirectory, download.pack().name()));
                        eventBus.post(new DownloadFinished(download));
+                       dccReceivers.remove(dccDownloadFinished.dccReceiver());
                } catch (IOException ioe1) {
                        /* TODO - handle all the errors. */
                        logger.log(Level.WARNING, String.format("Could not move file %s to directory %s.", download.filename(), finalDirectory), ioe1);
@@ -431,6 +432,7 @@ public class Core extends AbstractIdleService {
                try {
                        Closeables.close(download.outputStream(), true);
                        eventBus.post(new DownloadFailed(download));
+                       dccReceivers.remove(dccDownloadFailed.dccReceiver());
                } catch (IOException ioe1) {
                        /* swallow silently. */
                }