bluetoothappprofiles/avrcp/remconbeareravrcp/src/playerstatewatcher.cpp
branchRCL_3
changeset 55 613943a21004
parent 6 6a29d5ad0713
child 56 9386f31cc85b
--- a/bluetoothappprofiles/avrcp/remconbeareravrcp/src/playerstatewatcher.cpp	Thu Aug 19 10:05:41 2010 +0300
+++ b/bluetoothappprofiles/avrcp/remconbeareravrcp/src/playerstatewatcher.cpp	Tue Aug 31 15:25:10 2010 +0300
@@ -37,14 +37,17 @@
 void CPlayerWatcherBase::StopWatchingPlayer(TRemConClientId aClientId)
 	{
 	LOG_FUNC;
-	CInternalCommand* command = *iCommands.Find(aClientId);
-	__ASSERT_DEBUG(command, AVRCP_PANIC(ENotWatchingPlayer));
-
-	TUint transId = command->RemConCommandId();
-	iCommandInterface.MrcciCommandExpired(transId);
-
-	iCommands.Remove(aClientId);
-	command->DecrementUsers();
+	CInternalCommand** cmdPtr = iCommands.Find(aClientId);
+	if (cmdPtr) // This may be NULL if we've already stopped watching the player as a result of reciving a reject
+	    {
+        CInternalCommand* cmd = *cmdPtr;
+        
+        TUint transId = cmd->RemConCommandId();
+        iCommandInterface.MrcciCommandExpired(transId);
+    
+        iCommands.Remove(aClientId);
+        cmd->DecrementUsers();
+	    }
 	}
 
 void CPlayerWatcherBase::MessageSent(CAvrcpCommand& /*aCommand*/, TInt /*aSendResult*/)