diff --git a/src/bin/desklink/VolumeControl.cpp b/src/bin/desklink/VolumeControl.cpp index f4c3a97176..07daf06fc4 100644 --- a/src/bin/desklink/VolumeControl.cpp +++ b/src/bin/desklink/VolumeControl.cpp @@ -104,16 +104,22 @@ VolumeControl::AttachedToWindow() SetEventMask(_IsReplicant() ? 0 : B_POINTER_EVENTS, B_NO_POINTER_HISTORY); - BMediaRoster::CurrentRoster()->StartWatching(this, - fMixerControl->GainNode(), B_MEDIA_NEW_PARAMETER_VALUE); + BMediaRoster* roster = BMediaRoster::CurrentRoster(); + if (roster != NULL && fMixerControl->GainNode() != media_node::null) { + roster->StartWatching(this, fMixerControl->GainNode(), + B_MEDIA_NEW_PARAMETER_VALUE); + } } void VolumeControl::DetachedFromWindow() { - BMediaRoster::CurrentRoster()->StopWatching(this, fMixerControl->GainNode(), - B_MEDIA_NEW_PARAMETER_VALUE); + BMediaRoster* roster = BMediaRoster::CurrentRoster(); + if (roster != NULL && fMixerControl->GainNode() != media_node::null) { + roster->StopWatching(this, fMixerControl->GainNode(), + B_MEDIA_NEW_PARAMETER_VALUE); + } }