From 28cd9964dbbb3b12a6cd9b801187ca8a978494c6 Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Wed, 29 Feb 2012 16:08:55 +0000 Subject: Fixes some IlligalStateExceptions and NPE when using icq protocol. --- .../sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java | 4 ++++ .../impl/gui/main/contactlist/ContactListTreeCellRenderer.java | 4 ++++ .../impl/gui/main/contactlist/contactsource/MetaUIContact.java | 3 ++- src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java | 4 ++-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java index 6e74708..2394516 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java @@ -335,6 +335,10 @@ public class MainToolBar while(contacts.hasNext()) { Contact c = contacts.next(); + + if(!c.getProtocolProvider().isRegistered()) + continue; + OperationSetServerStoredContactInfo infoOpSet = c.getProtocolProvider().getOperationSet( OperationSetServerStoredContactInfo.class); diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java index 833fd77..904a8c7 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java @@ -753,6 +753,10 @@ public class ContactListTreeCellRenderer while(contacts.hasNext() && !hasPhone) { Contact contact = contacts.next(); + + if(!contact.getProtocolProvider().isRegistered()) + continue; + OperationSetServerStoredContactInfo infoOpSet = contact.getProtocolProvider().getOperationSet( OperationSetServerStoredContactInfo.class); diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaUIContact.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaUIContact.java index 4aed1b9..dc834e1 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaUIContact.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaUIContact.java @@ -423,7 +423,8 @@ public class MetaUIContact protocolContact.getProtocolProvider().getOperationSet( OperationSetServerStoredContactInfo.class); - if(infoOpSet != null) + if(infoOpSet != null + && protocolContact.getProtocolProvider().isRegistered()) { Iterator details = infoOpSet.requestAllDetailsForContact(protocolContact, diff --git a/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java b/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java index 16b9986..8e25d29 100644 --- a/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java +++ b/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java @@ -154,9 +154,9 @@ public class InfoRetreiver result = new LinkedList(); // put even empty result to bypass further retrieve - retreivedDetails.put(uin, responseRetriever.result); + retreivedDetails.put(uin, result); - return responseRetriever.result; + return result; } /** -- cgit v1.1