diff -r 6dfc5f825351 -r 50bf9db68373 locationmanager/locationtrail/src/clocationrecord.cpp --- a/locationmanager/locationtrail/src/clocationrecord.cpp Fri Mar 19 09:38:01 2010 +0200 +++ b/locationmanager/locationtrail/src/clocationrecord.cpp Fri Apr 16 15:23:55 2010 +0300 @@ -212,7 +212,7 @@ // EXPORT_C void CLocationRecord::GetLocationByTimeL( const TTime aTime, TLocationData& aLocationData, - TLocTrailState& aState ) __SOFTFP + TLocTrailState& aState ) { LOG( "CLocationRecord::GetLocationByTimeL(), begin" ); TInt posFound( EFalse ); @@ -317,7 +317,7 @@ // CLocationRecord::GetNetworkInfo // -------------------------------------------------------------------------- // -EXPORT_C void CLocationRecord::GetNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP +EXPORT_C void CLocationRecord::GetNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) { LOG("CLocationRecord::GetNetworkInfo"); @@ -348,7 +348,7 @@ // -------------------------------------------------------------------------- // void CLocationRecord::Position( const TPositionInfo& aPositionInfo, - const TInt aError ) __SOFTFP + const TInt aError ) { const TPositionSatelliteInfo& positionSatelliteInfo = static_cast(aPositionInfo); @@ -403,6 +403,13 @@ ) } iRemapper->StartRemappingObjects( iNewItem.iLocationData ); + + if( iObserver->WaitForPositioningStopTimeout() && !RemappingNeeded() ) + { + iObserver->RemapedCompleted(); + return; + } + } if ( iState != RLocationTrail::ETrailStopping ) { @@ -457,7 +464,7 @@ // -------------------------------------------------------------------------- // void CLocationRecord::NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo, - const TInt aError ) __SOFTFP + const TInt aError ) { LOG("CLocationRecord::NetworkInfo"); if ( aError == KErrNone ) @@ -585,7 +592,7 @@ EXPORT_C void CLocationRecord::CreateLocationObjectL( const TLocationData& aLocationData, - const TUint& aObjectId ) __SOFTFP + const TUint& aObjectId ) { TItemId locationId = DoCreateLocationL( aLocationData ); CreateRelationL( aObjectId, locationId ); @@ -792,7 +799,7 @@ } -TItemId CLocationRecord::DoCreateLocationL( const TLocationData& aLocationData ) __SOFTFP +TItemId CLocationRecord::DoCreateLocationL( const TLocationData& aLocationData ) { LOG("CLocationRecord::DoCreateLocationL - start"); TItemId locationObjectId; @@ -1094,12 +1101,16 @@ CMdEProperty* property = NULL; object = iMdeSession->GetObjectL( aObjectId ); + CleanupStack::PushL( object ); object->Property( timeDef, property, 0 ); if ( !property ) { User::Leave( KErrNotFound ); } - return property->TimeValueL(); + + const TTime timeValue( property->TimeValueL() ); + CleanupStack::PopAndDestroy( object ); + return timeValue; } EXPORT_C TBool CLocationRecord::RemappingNeeded()