From 641e458deab63ddd1f3b1663e191f4cec8abed6f Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Thu, 26 Jul 2012 09:35:18 +0000 Subject: [PATCH] Fixes a NullPointerException in MediaAwareCallPeer related to ConferenceMembersSoundLevelListener. --- .../protocol/media/MediaAwareCallPeer.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/net/java/sip/communicator/service/protocol/media/MediaAwareCallPeer.java b/src/net/java/sip/communicator/service/protocol/media/MediaAwareCallPeer.java index 95a7afae6..364855b7e 100644 --- a/src/net/java/sip/communicator/service/protocol/media/MediaAwareCallPeer.java +++ b/src/net/java/sip/communicator/service/protocol/media/MediaAwareCallPeer.java @@ -570,10 +570,18 @@ public void removeStreamSoundLevelListener(SoundLevelListener listener) * members sound level. * * @param listener the ConferenceMembersSoundLevelListener to add + * @throws NullPointerException if listener is null */ public void addConferenceMembersSoundLevelListener( - ConferenceMembersSoundLevelListener listener) + ConferenceMembersSoundLevelListener listener) { + /* + * XXX The uses of the method at the time of this writing rely on being + * able to add a null listener so make it a no-op here. + */ + if (listener == null) + return; + synchronized (conferenceMemberAudioLevelListeners) { if (conferenceMemberAudioLevelListeners.size() == 0) @@ -597,13 +605,12 @@ public void addConferenceMembersSoundLevelListener( * remove */ public void removeConferenceMembersSoundLevelListener( - ConferenceMembersSoundLevelListener listener) + ConferenceMembersSoundLevelListener listener) { synchronized (conferenceMemberAudioLevelListeners) { - conferenceMemberAudioLevelListeners.remove(listener); - - if (conferenceMemberAudioLevelListeners.size() == 0) + if (conferenceMemberAudioLevelListeners.remove(listener) + && (conferenceMemberAudioLevelListeners.size() == 0)) { // if this was the last listener then we also remove ourselves // as a CSRC audio level listener from the handler so that we