datacommsserver/esockserver/ssock/ss_connstates.cpp
branchRCL_3
changeset 66 cbb19216b74d
parent 48 07656293a99c
child 67 00c6709d25aa
--- a/datacommsserver/esockserver/ssock/ss_connstates.cpp	Mon Jun 21 17:02:22 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_connstates.cpp	Thu Jul 15 20:01:43 2010 +0300
@@ -470,9 +470,11 @@
 	__ASSERT_DEBUG(iContext.iNodeActivity, ConnPanic(KPanicNoActivity));
     CSubConnection* waitingSubConn = iContext.Node().Session()->CSubConnectionFromHandle(static_cast<CESockClientActivityBase&>(*iContext.iNodeActivity).Int0());
 	User::LeaveIfError(waitingSubConn != NULL ? KErrNone : KErrCancel);
-
+    RNodeInterface* waitingSubConnPeer = iContext.Node().FindClient(waitingSubConn->Id()); //To my surprise SC is a peer of this (so must use peer handle when talking to it)
+    __ASSERT_DEBUG(waitingSubConnPeer, ConnPanic(KPanicNoDataClient));
+    	
     TCFServiceProvider::TCommsBinderResponse& binderResp = message_cast<TCFServiceProvider::TCommsBinderResponse>(iContext.iMessage);
-    iContext.iNodeActivity->PostRequestTo(waitingSubConn->Id(),
+    iContext.iNodeActivity->PostRequestTo(*waitingSubConnPeer,
         TCFDataClient::TBindTo(binderResp.iNodeId).CRef());
 	}