branch | RCL_3 |
changeset 8 | 7403edfcf0fb |
parent 7 | 2eb74cf6572e |
child 9 | dea39715fc05 |
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp Fri Mar 12 15:43:57 2010 +0200 +++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp Mon Mar 15 12:41:55 2010 +0200 @@ -676,13 +676,15 @@ CThumbnailScaleTask* scaleTask = CThumbnailScaleTask::NewL( Server()->Processor(), *Server(), params.iTargetUri, bitmap, bitmapSize, (*missingSizes)[i].iSize, (*missingSizes)[i].iCrop, params.iDisplayMode, - KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse ); + KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse, + reqId); CleanupStack::PushL( scaleTask ); scaleTask->SetDoStore( ETrue ); Server()->Processor().AddTaskL( scaleTask ); CleanupStack::Pop( scaleTask ); - if( i == count-1 ) + // completion to first task, because task processor works like stack + if( i == 0 ) { // scaleTask is now responsible for completing the RMessage scaleTask->SetMessageData( reqId, iMessage ); @@ -1349,6 +1351,9 @@ // check if client thread alive TExitType exitType = clientThread.ExitType(); + + clientThread.Close(); + if( exitType != EExitPending ) { TN_DEBUG1( "CThumbnailServerSession::ClientThreadAlive() - client thread died");