cmmanager/cmmgr/Framework/Src/cmwizard.cpp
branchRCL_3
changeset 12 ea6e024ea6f9
parent 0 5a93021fdf25
child 17 c14618f9de99
--- a/cmmanager/cmmgr/Framework/Src/cmwizard.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmwizard.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -298,6 +298,12 @@
             iCheckConnDlgCancelled = ETrue;
             }
         }
+    
+    if ( iWait.IsStarted() )
+        {
+        iWait.AsyncStop();
+        }
+    iCheckConnDlg = NULL;
     }
 
 // ---------------------------------------------------------------------------
@@ -386,16 +392,21 @@
     if( !iCheckConnDlgCancelled )
         {
         CLOG_WRITE( "CCmWizard::CheckForCms, cancelling wait dlg" );
-        iCheckConnDlg->SetCallback( NULL );
         iCheckConnDlg->ProcessFinishedL();
+        
+        // Wait here in case wait note has not yet been dismissed.
+        // This happens in hw when Themes/effects is enabled.
+        if ( iCheckConnDlg != NULL )
+            {
+            iWait.Start();
+            }
         CLOG_WRITE( "CCmWizard::CheckForCms, wait dialog deleted" );
         }
     else
         {
         CLOG_WRITE( "CCmWizard::CheckForCms, wait dlg was already cancelled" );
         }
-    
-    
+
     // Set the member to NULL every case
     iCheckConnDlg = NULL;
     }