Explorar el Código

Fix a couple of issues with closing channels.

- GroupChatManager never subscribed to the event bus
- Comparing Optional<Connection> to Connection fails

Closes #782
pull/783/head
Chris Smith hace 7 años
padre
commit
e1019d69d0

+ 1
- 1
src/main/java/com/dmdirc/GroupChatManagerImpl.java Ver fichero

189
 
189
 
190
     @Handler
190
     @Handler
191
     void handleChannelClosing(final ChannelClosedEvent event) {
191
     void handleChannelClosing(final ChannelClosedEvent event) {
192
-        if (event.getChannel().getConnection().equals(connection)) {
192
+        if (connection.equals(event.getChannel().getConnection().orElse(null))) {
193
             final GroupChat channel = event.getChannel();
193
             final GroupChat channel = event.getChannel();
194
             connection.getWindowModel().getInputModel().get().getTabCompleter()
194
             connection.getWindowModel().getInputModel().get().getTabCompleter()
195
                     .removeEntry(TabCompletionType.CHANNEL, channel.getName());
195
                     .removeEntry(TabCompletionType.CHANNEL, channel.getName());

+ 2
- 0
src/main/java/com/dmdirc/Server.java Ver fichero

205
 
205
 
206
         highlightManager = new HighlightManager(windowModel);
206
         highlightManager = new HighlightManager(windowModel);
207
         windowModel.getEventBus().subscribe(highlightManager);
207
         windowModel.getEventBus().subscribe(highlightManager);
208
+        windowModel.getEventBus().subscribe(groupChatManager);
208
         windowModel.getEventBus().subscribe(this);
209
         windowModel.getEventBus().subscribe(this);
209
     }
210
     }
210
 
211
 
675
             synchronized (myStateLock) {
676
             synchronized (myStateLock) {
676
                 eventHandler.unregisterCallbacks();
677
                 eventHandler.unregisterCallbacks();
677
                 windowModel.getConfigManager().removeListener(configListener);
678
                 windowModel.getConfigManager().removeListener(configListener);
679
+                windowModel.getEventBus().unsubscribe(groupChatManager);
678
                 windowModel.getEventBus().unsubscribe(highlightManager);
680
                 windowModel.getEventBus().unsubscribe(highlightManager);
679
                 executorService.shutdown();
681
                 executorService.shutdown();
680
 
682
 

Loading…
Cancelar
Guardar