diff -r a9c0808a1095 -r 5146369cfdc9 serviceproviders/sapi_sysinfo/sysinfoservice/src/sysconnectionrequest.cpp --- a/serviceproviders/sapi_sysinfo/sysinfoservice/src/sysconnectionrequest.cpp Wed Sep 01 12:28:47 2010 +0100 +++ b/serviceproviders/sapi_sysinfo/sysinfoservice/src/sysconnectionrequest.cpp Tue Sep 14 22:59:08 2010 +0300 @@ -164,14 +164,23 @@ TInt32 transId = this->TransactionID(); iReadConnectionInfo = NULL; - if(TSysRequest::ENotification == RequestType()) + if(TSysRequest::ENotification == RequestType() ) { - iConnectionInfoArray.AppendL(aInfo); - if( !iConnectionInit ) + if(!error) { - CConnectionInfo* conninfo = aInfo->CopyL(); + iConnectionInfoArray.AppendL(aInfo); + if( !iConnectionInit ) + { + CConnectionInfo* conninfo = aInfo->CopyL(); + TRAP_IGNORE(SystemObserver()->HandleResponseL(*iEntity, *iKey, + conninfo, transId, RequestType(), error)); + } + } + else + { TRAP_IGNORE(SystemObserver()->HandleResponseL(*iEntity, *iKey, - conninfo, transId, RequestType(), error)); + NULL, transId, RequestType(), error)); + } } else @@ -238,6 +247,7 @@ { TUint connectionId =0; CReadConnectionInfo* rdConnectionInfo = NULL; + switch( aEvent.EventType() ) { case EConnMonCreateConnection: @@ -355,7 +365,7 @@ TInt error(iStatus.Int()); if(error >= KErrNone) - { + { switch(iState) { case EInitial: