--- a/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp Mon Mar 15 12:46:10 2010 +0200
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp Thu Apr 01 00:00:09 2010 +0300
@@ -225,7 +225,7 @@
namespace IPProtoCprStopActivity
{
DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityStop, IPProtoCprStop, TCFServiceProvider::TStop, MeshMachine::CNodeRetryActivity::NewL)
- FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingStop, CoreNetStates::TActiveOrNoTagBlockedByBindTo)
+ FIRST_NODEACTIVITY_ENTRY(IpProtoCpr::TAwaitingStop, CoreNetStates::TActiveOrNoTagBlockedByBindTo)
THROUGH_NODEACTIVITY_ENTRY(KActiveTag, CoreNetStates::TCancelDataClientStart, MeshMachine::TNoTag)
NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TStopSelf, CoreNetStates::TAwaitingDataClientStopped, CoreNetStates::TNoTagOrNoBearer)
NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendStop, CoreNetStates::TAwaitingStopped, MeshMachine::TNoTag)
@@ -755,7 +755,8 @@
{
iTimerExpired = ETrue;
CancelTimer();
- if (CountActivities(ECFActivityStop) == 0)
+ if (CountActivities(ECFActivityStop) == 0 &&
++ CountActivities(ECFActivityDestroy) == 0)
{
RClientInterface::OpenPostMessageClose(Id(), TNodeCtxId(ECFActivityStop, Id()), TCFServiceProvider::TStop(KErrTimedOut).CRef());
}