diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/CallPanel.java index ff21ada6b..d63df98df 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/CallPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/CallPanel.java @@ -360,6 +360,8 @@ public void stateChanged(ChangeEvent e) } else { + // These buttons are only added in the conference call. For the one + // to one call mute and sound buttons are in the call peer panel. localLevel.setEnabled(false); remoteLevel.setEnabled(false); @@ -650,6 +652,8 @@ public void enableButtons() conferenceButton.setEnabled(true); holdButton.setEnabled(true); recordButton.setEnabled(true); + localLevel.setEnabled(true); + remoteLevel.setEnabled(true); if (!isLastConference) { diff --git a/src/net/java/sip/communicator/impl/neomedia/device/AudioMixerMediaDevice.java b/src/net/java/sip/communicator/impl/neomedia/device/AudioMixerMediaDevice.java index c42b61ece..8e616a2fe 100644 --- a/src/net/java/sip/communicator/impl/neomedia/device/AudioMixerMediaDevice.java +++ b/src/net/java/sip/communicator/impl/neomedia/device/AudioMixerMediaDevice.java @@ -486,6 +486,10 @@ public AudioMixerMediaDeviceSession() */ public void addLocalUserAudioLevelListener(SimpleAudioLevelListener l) { + // If the listener is null, we have nothing more to do here. + if (l == null) + return; + synchronized(localUserAudioLevelListenersSyncRoot) { //if this is the first listener that we are seeing then we also