imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp
--- 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");