diff -r bac7acad7cb3 -r 2c87b2808fd7 camerauis/cameraapp/generic/src/CamAppui.cpp --- a/camerauis/cameraapp/generic/src/CamAppui.cpp Wed Sep 01 12:30:54 2010 +0100 +++ b/camerauis/cameraapp/generic/src/CamAppui.cpp Tue Sep 14 20:46:07 2010 +0300 @@ -334,12 +334,15 @@ TBool uiOrientationOverride = iController.UiConfigManagerPtr()->IsUIOrientationOverrideSupported(); // Get the screenmode values used for setting the orientation - RArray screenModeValues; + if ( uiOrientationOverride ) { + RArray screenModeValues; + CleanupClosePushL( screenModeValues ); iController.UiConfigManagerPtr()->SupportedScreenModesL( screenModeValues ); iLandscapeScreenMode = screenModeValues[0]; iPortraitScreenMode = screenModeValues[1]; + CleanupStack::PopAndDestroy( &screenModeValues ); } // The embedded views are set after ConstructL completes @@ -5489,6 +5492,14 @@ PRINT( _L("Camera => CCamAppUi::InternalExitL") ); iController.StoreFaceTrackingValue(); // store the current FT setting + + if ( iMode == ECamControllerVideo ) + { + // Prevent flickering when returning to default Still image mode + CCamViewBase* precapView = static_cast( iView ); + __ASSERT_DEBUG( precapView, CamPanic( ECamPanicNullPointer )); + precapView->ViewCba()->MakeVisible( EFalse ); + } if ( iController.UiConfigManagerPtr() && iController.UiConfigManagerPtr()->IsLocationSupported() ) @@ -7868,7 +7879,7 @@ if ( iViewState != ECamViewStateUserSceneSetup ) { - if ( CamUtility::IsNhdDevice() ) + if ( AknLayoutUtils::PenEnabled() ) { StatusPane()->MakeVisible( aMode == ECamPreCapStandby || IsSecondCameraEnabled() &&