phonebookui/pbkcommonui/src/cntdefaultviewmanager.cpp
changeset 50 77bc263e1626
parent 47 7cbcb2896f0e
child 53 e6aff7b69165
equal deleted inserted replaced
49:74b30151afd6 50:77bc263e1626
   207     disconnect(mMainWindow, SIGNAL(viewReady()), this, SLOT(deleteOldView()));
   207     disconnect(mMainWindow, SIGNAL(viewReady()), this, SLOT(deleteOldView()));
   208     
   208     
   209     if (mOldView)
   209     if (mOldView)
   210     {
   210     {
   211         mOldView->deactivate();
   211         mOldView->deactivate();
   212         
   212 
   213         // Due to something strange in wk16, this check will fail occationally and cause
   213         mMainWindow->removeView(mOldView->view());
   214         // a memory leak... most likely when opening edit view for the first time
   214 
   215         if (mCurrent == NULL || !mOldView->view()->isVisible())
   215         if (!mOldView->isDefault())
   216         {
   216         {
   217             mMainWindow->removeView(mOldView->view());
   217             delete mOldView;
   218             
   218             mOldView = NULL;
   219             if (!mOldView->isDefault())
   219         }
   220             {
   220         // If view id is not in defaults list, it means that view has changed
   221                 delete mOldView;
   221         // its opinnion about preserving state to true.
   222                 mOldView = NULL;
   222         else if ( !mDefaults.contains(mOldView->viewId()) ) 
   223             }
   223         {
   224             // If view id is not in defaults list, it means that view has changed
   224             mDefaults.insert( mOldView->viewId(), mOldView );
   225             // its opinnion about preserving state to true.
       
   226             else if ( !mDefaults.contains(mOldView->viewId()) ) 
       
   227             {
       
   228                 mDefaults.insert( mOldView->viewId(), mOldView );
       
   229             }
       
   230         }
   225         }
   231     }
   226     }
   232 
   227 
   233     mMainWindow->setInteractive(true);
   228     mMainWindow->setInteractive(true);
   234     
   229