imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp
branchRCL_3
changeset 10 7403edfcf0fb
parent 9 2eb74cf6572e
child 11 dea39715fc05
equal deleted inserted replaced
9:2eb74cf6572e 10:7403edfcf0fb
   674                }
   674                }
   675             
   675             
   676             CThumbnailScaleTask* scaleTask = CThumbnailScaleTask::NewL( Server()->Processor(),
   676             CThumbnailScaleTask* scaleTask = CThumbnailScaleTask::NewL( Server()->Processor(),
   677                 *Server(), params.iTargetUri, bitmap, bitmapSize,
   677                 *Server(), params.iTargetUri, bitmap, bitmapSize,
   678                 (*missingSizes)[i].iSize, (*missingSizes)[i].iCrop, params.iDisplayMode,
   678                 (*missingSizes)[i].iSize, (*missingSizes)[i].iCrop, params.iDisplayMode,
   679                 KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse );
   679                 KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse,
       
   680                 reqId);
   680             CleanupStack::PushL( scaleTask );
   681             CleanupStack::PushL( scaleTask );
   681             scaleTask->SetDoStore( ETrue );
   682             scaleTask->SetDoStore( ETrue );
   682             Server()->Processor().AddTaskL( scaleTask );
   683             Server()->Processor().AddTaskL( scaleTask );
   683             CleanupStack::Pop( scaleTask );
   684             CleanupStack::Pop( scaleTask );
   684             
   685             
   685             if( i == count-1 )
   686             // completion to first task, because task processor works like stack
       
   687             if( i == 0 )
   686                 {
   688                 {
   687                 // scaleTask is now responsible for completing the RMessage
   689                 // scaleTask is now responsible for completing the RMessage
   688                 scaleTask->SetMessageData( reqId, iMessage );
   690                 scaleTask->SetMessageData( reqId, iMessage );
   689                 iMessage = RMessage2();
   691                 iMessage = RMessage2();
   690                 }
   692                 }
  1347             return EFalse;
  1349             return EFalse;
  1348             }
  1350             }
  1349     
  1351     
  1350         // check if client thread alive
  1352         // check if client thread alive
  1351         TExitType exitType = clientThread.ExitType();
  1353         TExitType exitType = clientThread.ExitType();
       
  1354         
       
  1355         clientThread.Close();
       
  1356         
  1352         if( exitType != EExitPending )
  1357         if( exitType != EExitPending )
  1353             {
  1358             {
  1354             TN_DEBUG1( "CThumbnailServerSession::ClientThreadAlive() - client thread died");
  1359             TN_DEBUG1( "CThumbnailServerSession::ClientThreadAlive() - client thread died");
  1355         
  1360         
  1356             aMessage = RMessage2();
  1361             aMessage = RMessage2();