diff -r 5db69f4c3d06 -r b048e15729d6 creator/src/enginewrapper.cpp --- a/creator/src/enginewrapper.cpp Mon Aug 23 15:50:54 2010 +0300 +++ b/creator/src/enginewrapper.cpp Fri Sep 03 17:11:21 2010 +0300 @@ -47,9 +47,11 @@ { if (iEngine != 0) { delete iEngine; + iEngine = NULL; } if (iProgressDialog != 0) { delete iProgressDialog; + iProgressDialog = NULL; } } @@ -76,12 +78,12 @@ for(int i=0; iiFree.Ptr(), tMemDetList.operator [](i)->iFree.Length());//QString((QChar*) temp->iFree.Ptr(), temp->iFree.Length()); - QString size = QString::fromUtf16(tMemDetList.operator [](i)->iSize.Ptr(), tMemDetList.operator [](i)->iSize.Length());//QString((QChar*) temp->iSize.Ptr(), temp->iSize.Length()); - QString driveLetter = QString::fromUtf8((const char*) &tMemDetList.operator [](i)->iDriveLetter, (int) sizeof(char) );//QString((QChar*) &temp->iDriveLetter, (int) sizeof( char ) ); + QString free = QString::fromUtf16( temp->iFree.Ptr(), temp->iFree.Length() ); + QString size = QString::fromUtf16( temp->iSize.Ptr(), temp->iSize.Length() ); + QChar drive(temp->iDriveLetter.GetUpperCase()); memDet.mFree = free; //QString((QChar*)tMemDetList[i]->iFree.Ptr(), tMemDetList[i]->iFree.Length()); memDet.mSize = size; //QString((QChar*) tMemDetList[i]->iSize.Ptr(), tMemDetList[i]->iSize.Length()); - memDet.mDriveLetter = driveLetter; + memDet.mDriveLetter = QString(drive); //memDetList[i].mDriveLetter = QString::fromUtf8( (char *) &tMemDetList[i]->iDriveLetter, (int) sizeof( char ) ); memDetList.append( memDet ); @@ -96,8 +98,8 @@ MemoryDetails memoryDetails; // Convert TMemoryDetails to MemoryDetails - memoryDetails.mRamFree = QString((QChar*)tMemoryDetails.iRamFree.Ptr(), tMemoryDetails.iRamFree.Length()); - memoryDetails.mRamSize = QString((QChar*)tMemoryDetails.iRamSize.Ptr(), tMemoryDetails.iRamSize.Length()); + memoryDetails.mRamFree = QString::fromUtf16( tMemoryDetails.iRamFree.Ptr(), tMemoryDetails.iRamFree.Length() ); + memoryDetails.mRamSize = QString::fromUtf16( tMemoryDetails.iRamSize.Ptr(), tMemoryDetails.iRamSize.Length() ); return memoryDetails; } @@ -117,7 +119,7 @@ void EngineWrapper::ShowNote(const TDesC& aNoteMessage, TInt /*aResourceId*/) { QString note((QChar*)aNoteMessage.Ptr(),aNoteMessage.Length()); - Notifications::showGlobalNote(note, HbMessageBox::MessageTypeInformation, HbPopup::ConfirmationNoteTimeout); + Notifications::showGlobalNote(note, HbMessageBox::MessageTypeInformation, 1000); } // --------------------------------------------------------------------------- @@ -125,10 +127,7 @@ void EngineWrapper::ShowProgressBar(const TDesC& aPrompt, int aMax) { QString text((QChar*)aPrompt.Ptr(), aPrompt.Length()); - if(iProgressDialog){ - delete iProgressDialog; - iProgressDialog = NULL; - } + CloseProgressbar(); iProgressDialog = Notifications::showProgressBar(text, aMax); connect(iProgressDialog, SIGNAL(cancelled()), this, SLOT(ProgressDialogCancelled())); } @@ -275,12 +274,15 @@ void EngineWrapper::ProgressDialogCancelled() { - CloseProgressbar(); TRAPD(err, iEngine->ProgressDialogCancelledL()); // error handling if(err != KErrNone) { Notifications::error("Error in operation cancel."); - } + } + // disconnect & delete iProgressDialog to free memory + disconnect(iProgressDialog, SIGNAL(cancelled()), this, SLOT(ProgressDialogCancelled())); + iProgressDialog->deleteLater(); + iProgressDialog = NULL; } // ---------------------------------------------------------------------------