camerauis/cameraapp/generic/src/CamAppui.cpp
branchRCL_3
changeset 18 51dda465e618
parent 16 d486e5e3cc9a
child 20 38fb6f7eacd5
--- a/camerauis/cameraapp/generic/src/CamAppui.cpp	Wed Mar 31 21:06:44 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamAppui.cpp	Wed Apr 14 15:41:04 2010 +0300
@@ -2508,6 +2508,7 @@
     case ECamEventSaveLocationChanged:
         {
         PRINT( _L( "Camera <> case ECamEventSaveLocationChanged" ) )
+        DismissMemoryNoteL();
         if ( IsMMCRemovedNotePending() && 
            ( CamUtility::MemoryCardStatus() != ECamMemoryCardNotInserted ) )
             {
@@ -2518,6 +2519,10 @@
             {
             TRAP_IGNORE( HandleCommandL( ECamCmdRedrawScreen ) );
             }
+        if ( ECamViewStatePostCapture == iViewState )
+            {
+            iTargetViewState = ECamViewStatePreCapture;
+            }
         break;
         }   
 
@@ -4356,11 +4361,12 @@
         else if(IsMemoryFullOrUnavailable( storeToCheck ))
             {
             HBufC* text = StringLoader::LoadLC(R_NOTE_TEXT_MEMORY_FULL);
-            CAknStaticNoteDialog* note = new( ELeave ) CAknStaticNoteDialog;
-            note->PrepareLC( R_CAM_OOM_NOTE_OK_CANCEL);
-            note->SetTextL( *text );
+            iMemoryNote = new( ELeave ) CAknStaticNoteDialog;
+            iMemoryNote->PrepareLC( R_CAM_OOM_NOTE_OK_CANCEL);
+            iMemoryNote->SetTextL( *text );
             iController.StopIdleTimer();
-            TInt ret = note->RunDlgLD();
+            TInt ret = iMemoryNote->RunDlgLD();
+            iMemoryNote = NULL;
             CleanupStack::PopAndDestroy( text );
             if(EAknSoftkeyOk == ret)
                 {
@@ -4412,10 +4418,11 @@
                                                 R_CAM_MEMORY_SELECT_DIALOG,
                                                 EFalse,
                                                 supportedMemTypes );
+                CleanupStack::PushL(memoryDialog);
                 TDriveNumber driveNumber = static_cast<TDriveNumber>(KErrNotFound);    
                 CAknCommonDialogsBase::TReturnKey result = 
                                 memoryDialog->ExecuteL( driveNumber );
-
+                CleanupStack::PopAndDestroy(memoryDialog);
                 if ( result != CAknCommonDialogsBase::TReturnKey(
                                 CAknCommonDialogsBase::ERightSoftkey) )
                     {