From 444cde419ffcc433502387c6f0c55bc7fd965db9 Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Wed, 18 Dec 2013 12:39:32 +0200 Subject: [PATCH] Chooses online chat transport when adding or updating chat transports. --- .../gui/main/chat/MetaContactChatSession.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java b/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java index 59a4b73f1..30538bc31 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java @@ -699,10 +699,24 @@ private void addChatTransports( Contact contact, sessionRenderer.setSelectedChatTransport(chatTransport, false); } - // If no current transport is set we choose the first one in the list. + // If no current transport is set we choose + // the first online from the list. if (currentChatTransport == null) { - currentChatTransport = chatTransports.get(0); + for(ChatTransport ct : chatTransports) + { + if(ct.getStatus() != null + && ct.getStatus().isOnline()) + { + currentChatTransport = ct; + break; + } + } + + // if still nothing selected, choose the first one + if (currentChatTransport == null) + currentChatTransport = chatTransports.get(0); + sessionRenderer .setSelectedChatTransport(currentChatTransport, false); }