From 4e0b8ffdd6a1133cfb8b4d90cbd7dab2f8d0b49e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 9 Apr 2009 11:45:50 +0000 Subject: [PATCH] * As Stephan pointed out, the roster will be NULL if the media server is not running. Thanks! That's just another thing we should improve in R2. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30062 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/bin/desklink/VolumeControl.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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); + } }