diff -r b67379558a75 -r d429f823a6b7 imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp Tue Jul 06 14:37:18 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp Thu Jul 08 15:45:05 2010 +0300 @@ -1288,6 +1288,52 @@ QueryL( EGenerationItemActionResolveType ); } + else if ( iDeleteItemCount > 0 ) + { + TN_DEBUG1( "void CThumbAGProcessor::RunL() delete thumbnails"); + // delete thumbs by URI + __ASSERT_DEBUG((iTMSession), User::Panic(_L("CThumbAGProcessor::RunL() !iTMSession "), KErrBadHandle)); + if(iTMSession) + { + TInt itemIndex(KErrNotFound); + + for(TInt i=0;i= 0) + { + if(!iGenerationQueue[itemIndex].iUri) + { + //URI is invalid + TN_DEBUG1( "void CThumbAGProcessor::RunL() unable to delete URI inbalid"); + iGenerationQueue.Remove( itemIndex ); + ActivateAO(); + return; + } + + TN_DEBUG2( "void CThumbAGProcessor::RunL() delete %S", iGenerationQueue[itemIndex].iUri); + CThumbnailObjectSource* source = NULL; + TRAPD(err, source = CThumbnailObjectSource::NewL( *iGenerationQueue[itemIndex].iUri, KNullDesC)); + + if(err == KErrNone) + { + iTMSession->DeleteThumbnails( *source ); + } + delete source; + + delete iGenerationQueue[itemIndex].iUri; + iGenerationQueue[itemIndex].iUri = NULL; + iGenerationQueue.Remove( itemIndex ); + + iActiveCount++; + } + } + } // no items in query queue, start new // select queue to process, priority by type else if ( iModifyItemCount > 0 ) @@ -1313,54 +1359,6 @@ QueryL( EGenerationItemActionAdd ); } - else if ( iDeleteItemCount > 0 ) - { - TN_DEBUG1( "void CThumbAGProcessor::RunL() delete thumbnails"); - i2ndRound = EFalse; - iUnknown = EFalse; - // delete thumbs by URI - __ASSERT_DEBUG((iTMSession), User::Panic(_L("CThumbAGProcessor::RunL() !iTMSession "), KErrBadHandle)); - if(iTMSession) - { - TInt itemIndex(KErrNotFound); - - for(TInt i=0;i= 0) - { - if(!iGenerationQueue[itemIndex].iUri) - { - //URI is invalid - TN_DEBUG1( "void CThumbAGProcessor::RunL() unable to delete URI inbalid"); - iGenerationQueue.Remove( itemIndex ); - ActivateAO(); - return; - } - - TN_DEBUG2( "void CThumbAGProcessor::RunL() delete %S", iGenerationQueue[itemIndex].iUri); - CThumbnailObjectSource* source = NULL; - TRAPD(err, source = CThumbnailObjectSource::NewL( *iGenerationQueue[itemIndex].iUri, KNullDesC)); - - if(err == KErrNone) - { - iTMSession->DeleteThumbnails( *source ); - } - delete source; - - delete iGenerationQueue[itemIndex].iUri; - iGenerationQueue[itemIndex].iUri = NULL; - iGenerationQueue.Remove( itemIndex ); - - iActiveCount++; - } - } - } else if( i2ndAddItemCount > 0) { TN_DEBUG1( "void CThumbAGProcessor::RunL() update 2nd round thumbnails"); @@ -1687,8 +1685,9 @@ } //check if forced run needs to continue - if ( iModifyItemCount || iUnknownItemCount > 0 ) + if ( iModifyItemCount > 0 || iUnknownItemCount > 0 || iDeleteItemCount > 0 ) { + TN_DEBUG1( "CThumbAGProcessor::ActivateAO() - iModifyItemCount > 0 || iUnknownItemCount > 0 || iDeleteItemCount > 0"); SetForceRun( ETrue ); } else