diff -r 51dda465e618 -r 38fb6f7eacd5 camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp Wed Apr 14 15:41:04 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp Tue Apr 27 16:19:06 2010 +0300 @@ -341,7 +341,8 @@ // --------------------------------------------------------------------------- // CCamCaptureSetupViewBase::CCamCaptureSetupViewBase( CCamAppController& aController ) - : CCamViewBase( aController ),iForceAvkonCBA(EFalse) + : CCamViewBase( aController ),iForceAvkonCBA(EFalse), + iCaptureSetupModeActive( EFalse ) { } @@ -1057,6 +1058,8 @@ // void CCamCaptureSetupViewBase::SetSceneSettingMode(TBool aActive) { + TUid view = Id(); + TBool userSceneActive = ( view.iUid == ECamViewIdPhotoUserSceneSetup ); // This should be the only place iSceneSettingModeActive is set! // We need to inform the AppUi iSceneSettingModeActive = aActive; @@ -1069,8 +1072,8 @@ { appUi->SetPreCaptureMode(ECamPreCapSceneSetting); iChangeButtonPressed = EFalse; - } - else if ( iChangeButtonPressed ) + } // userSceneActive to avoit toolbar flicker after back from scene setting + else if ( iChangeButtonPressed || userSceneActive ) { // transfering to user scene setup view appUi->SetPreCaptureMode(ECamPreCapSceneSetting); @@ -1118,7 +1121,7 @@ // This should be the only place iCaptureSetupModeActive is set! // We need to inform the AppUi iCaptureSetupModeActive = aActive; - + PRINT1( _L("Camera <> CCamCaptureSetupViewBase::SetCaptureSetupModeActive iCaptureSetupModeActive=%d"),iCaptureSetupModeActive); CCamAppUiBase* appUi = static_cast( AppUi() ); if ( appUi)