--- a/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Wed Apr 14 15:41:04 2010 +0300
+++ b/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Tue Apr 27 16:19:06 2010 +0300
@@ -856,6 +856,10 @@
HandleVideoEvent( ECamCameraEventVideoInit, aError );
// DelayCallback( ECamCameraEventVideoInit, aError, 500000 );
#else
+ if( aError == KErrWrite )
+ {
+ aError = KErrNone;
+ }
if( aError &&
( iIveCancel || ( !iIveSequenceActive && iIveRecoveryOngoing ) ) )
// Return if error and recovering process has been started,
@@ -994,6 +998,10 @@
#ifdef CAMERAAPP_CAE_ERR_SIMULATION
HandleVideoEvent( ECamCameraEventVideoStop, KErrUnknown );
#else
+ if( aError == KErrWrite )
+ {
+ aError = KErrNone;
+ }
HandleVideoEvent( ECamCameraEventVideoStop, aError );
#endif // CAMERAAPP_CAE_ERR_SIMULATION
// Change stopping mode back to default sync mode
@@ -2890,7 +2898,7 @@
params().iRect );
(void) SetVfWindowOrdinal( orgPos ); // back to original
- if ( ECamActiveCameraSecondary == appUi->ActiveCamera() )
+ if ( appUi && ECamActiveCameraSecondary == appUi->ActiveCamera() )
{
iCamera->SetViewFinderMirrorL(ETrue);
}
@@ -2959,7 +2967,10 @@
iInfo.iVfState = ECamTriActive;
//view finder started now(set stop status as false)
- appUi->SetViewFinderStoppedStatus( EFalse );
+ if ( appUi )
+ {
+ appUi->SetViewFinderStoppedStatus( EFalse );
+ }
break;
}
// -----------------------------------------------------
@@ -4228,7 +4239,7 @@
iIveRecoveryCount && // Give up eventually
!appUi->AppInBackground( EFalse ) && // Only if on the foreground
( !iReleasedByUi || // Try recover if unknown reason
- appUi->StandbyStatus() ) && // or known error
+ ( appUi->StandbyStatus() && appUi->IsRecoverableStatus() ) ) && // or known error
!iAppController.InVideocallOrRinging() && // Video telephony parallel use case
!iIveRecoveryOngoing // processing recovery sequence
)
@@ -6644,7 +6655,7 @@
return;
}
__ASSERT_DEBUG(view, CamPanic(ECamPanicNullPointer));
- if ( appUi->StandbyStatus() && view->IsInStandbyMode() )
+ if ( appUi->StandbyStatus() && appUi->IsRecoverableStatus() && view->IsInStandbyMode() )
{
PRINT( _L("Camera <> CCamCameraController::DoIveRecovery - Standby mode active, try to exit") )
TRAP_IGNORE( appUi->HandleControllerEventL( ECamEventCameraChanged,
@@ -6699,9 +6710,13 @@
TBool ftOn( EFalse );
iSettingProvider.ProvideCameraSettingL( ECameraSettingFacetracking, &ftOn );
PRINT1( _L("Camera <> Set facetracking: %d"), ftOn )
- iCustomInterfaceFaceTracking->SetFaceTrackingL( ftOn );
- iCustomInterfaceFaceTracking->EnableFaceIndicatorsL( ETrue );
- DirectRequestL( ECamRequestSetAfRange );
+ if( ( ftOn && !iCustomInterfaceFaceTracking->FaceTrackingOn() ) ||
+ ( !ftOn && iCustomInterfaceFaceTracking->FaceTrackingOn() ) )
+ {
+ iCustomInterfaceFaceTracking->SetFaceTrackingL( ftOn );
+ iCustomInterfaceFaceTracking->EnableFaceIndicatorsL( ETrue );
+ DirectRequestL( ECamRequestSetAfRange );
+ }
}
}