Remove downloads correctly.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 16 Apr 2013 20:53:34 +0000 (22:53 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 16 Apr 2013 20:53:34 +0000 (22:53 +0200)
src/main/java/net/pterodactylus/xdcc/core/Core.java

index 3c3e457..9d5dcb7 100644 (file)
@@ -583,7 +583,7 @@ public class Core extends AbstractExecutionThreadService {
                                }
 
                                /* remove download. */
-                               downloads.remove(download);
+                               downloads.remove(download.pack().name());
                                return;
                        }
 
@@ -630,7 +630,7 @@ public class Core extends AbstractExecutionThreadService {
                                eventBus.post(new GenericError(String.format("Download %s from %s does not start at the right position!")));
                                logger.log(Level.WARNING, String.format("Download %s from %s: have %d bytes but wants to resume from %d!", dccAcceptReceived.filename(), dccAcceptReceived.source(), outputFile.length(), dccAcceptReceived.position()));
 
-                               downloads.remove(download);
+                               downloads.remove(download.pack().name());
                                return;
                        }
                        OutputStream outputStream = new FileOutputStream(outputFile, true);
@@ -664,7 +664,7 @@ public class Core extends AbstractExecutionThreadService {
                        file.renameTo(new File(finalDirectory, download.pack().name()));
                        eventBus.post(new DownloadFinished(download));
                        dccReceivers.remove(dccDownloadFinished.dccReceiver());
-                       downloads.remove(download);
+                       downloads.remove(download.pack().name());
                } 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);
@@ -689,7 +689,7 @@ public class Core extends AbstractExecutionThreadService {
                        Closeables.close(download.outputStream(), true);
                        eventBus.post(new DownloadFailed(download));
                        dccReceivers.remove(dccDownloadFailed.dccReceiver());
-                       downloads.remove(download);
+                       downloads.remove(download.pack().name());
                } catch (IOException ioe1) {
                        /* swallow silently. */
                }