--- a/connectionmonitoring/connmon/connectionmonitor/src/CPsdFax.cpp Fri Jul 23 09:11:14 2010 +0300
+++ b/connectionmonitoring/connmon/connectionmonitor/src/CPsdFax.cpp Fri Aug 06 19:11:03 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -737,7 +737,7 @@
iOpen = ETrue;
// Start status notifier
- if ( !iStatusNotifier->IsActive() )
+ if ( iStatusNotifier && !iStatusNotifier->IsActive() )
{
LOGIT("OpenContext: start status notifier")
iStatusNotifier->Start( iContext );
@@ -850,7 +850,7 @@
err = status.Int();
// Remove from server tables if status notifier is not active.
- if ( !iStatusNotifier->IsActive() )
+ if ( !iStatusNotifier || !iStatusNotifier->IsActive() )
{
// Remove from server tables
RemoveFromServer();
@@ -1284,6 +1284,11 @@
// Close the context
iConnDataModule->CloseContext();
+ // Dial-up connection has gone down. Make sure the dial-up PDP
+ // context override is disabled.
+ LOGIT("External PSD connection status EStatusDeleted, disabling dial-up override")
+ iServer->SetDialUpOverrideStatus( EConnMonDialUpOverrideInactive );
+
// Delete all old connection objects. This method should be used
// carefully because it will delete ConnectionData and
// statusnotifier objects. Get out fast from RunL().
@@ -1292,6 +1297,13 @@
// Stop listening
return;
}
+ else if ( iContextStatus == RPacketContext::EStatusActive )
+ {
+ // Dial-up connection has been established. Make sure the dial-up
+ // PDP context override is disabled.
+ LOGIT("External PSD connection status EStatusActive, disabling dial-up override")
+ iServer->SetDialUpOverrideStatus( EConnMonDialUpOverrideInactive );
+ }
// New request
Receive();