Don’t access optional that’s clearly not set.
[xudocci.git] / src / main / java / net / pterodactylus / xdcc / core / Core.java
index f7b0595..3b1e639 100644 (file)
@@ -571,6 +571,9 @@ public class Core extends AbstractExecutionThreadService {
        public void connectionClosed(ConnectionClosed connectionClosed) {
                connectionBackoff.connectionFailed(getNetwork(connectionClosed.connection()).get());
                removeConnection(connectionClosed.connection());
+               synchronized (syncObject) {
+                       syncObject.notifyAll();
+               }
                eventBus.post(new GenericMessage(String.format("Connection closed by %s.", connectionClosed.connection().hostname())));
        }
 
@@ -584,6 +587,9 @@ public class Core extends AbstractExecutionThreadService {
        public void connectionFailed(ConnectionFailed connectionFailed) {
                connectionBackoff.connectionFailed(getNetwork(connectionFailed.connection()).get());
                removeConnection(connectionFailed.connection());
+               synchronized (syncObject) {
+                       syncObject.notifyAll();
+               }
                eventBus.post(new GenericMessage(String.format("Could not connect to %s: %s.", connectionFailed.connection().hostname(), connectionFailed.cause())));
        }
 
@@ -625,7 +631,7 @@ public class Core extends AbstractExecutionThreadService {
 
                Optional<Channel> channel = getChannel(network.get(), channelNotJoined.channel());
                if (!channel.isPresent()) {
-                       eventBus.post(new GenericMessage(format("Could not join %s but didn’t try to join, either.", channel.get())));
+                       eventBus.post(new GenericMessage(format("Could not join %s but didn’t try to join, either.", channelNotJoined.channel())));
                        return;
                }