diff -r 8ba0afbb4637 -r a15d9966050f messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp --- 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