messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp
changeset 70 a15d9966050f
parent 52 12db4185673b
--- a/messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp	Thu Sep 02 20:23:03 2010 +0300
+++ b/messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp	Fri Sep 17 08:28:39 2010 +0300
@@ -66,18 +66,11 @@
 
 MsgSettingsView::~MsgSettingsView()
 {
-    delete mSMSCenterView;
 }
 
 void MsgSettingsView::onNewSMSCCenterClicked(int index)
 {
     //open the sms center views
-    if (mSMSCenterView)
-    {
-        delete mSMSCenterView;
-        mSMSCenterView = NULL;
-    }
-
     mSMSCenterView = new MsgSMSCenterView(index);
 
     connect(mSMSCenterView,
@@ -95,11 +88,16 @@
     //sms center view was directly launched, no need to go back to settings view.
     if(mCurrentView == SMSView)
     {
+        // mSMSCenterView will be deleted by MainWindow. 
         this->navigationAction()->trigger();
         return;
     }
     //remove the view 
     mMainWindow->removeView(mSMSCenterView);
+    // Delete the view since the ownership is transferred to caller.
+    // @see HbMainWindow::removeView()
+    delete mSMSCenterView;
+    mSMSCenterView = NULL;
     
     // This check is needed in case when smsc center view is 
     // launched directly