diff -r 1367103c24e2 -r 696bfeff199e messagingappbase/msgavkon/muiu_domain/messageiterator/src/MuiuMessageIterator.cpp --- a/messagingappbase/msgavkon/muiu_domain/messageiterator/src/MuiuMessageIterator.cpp Mon Jun 21 15:36:19 2010 +0300 +++ b/messagingappbase/msgavkon/muiu_domain/messageiterator/src/MuiuMessageIterator.cpp Thu Jul 15 18:34:37 2010 +0300 @@ -422,17 +422,25 @@ CMsvEntrySelection* tempSel = iParentOfCurrent->ChildrenL(); CleanupStack::PushL( tempSel ); - // remove all except messages from the list. - for ( TInt loop = tempSel->Count() - 1; loop >= 0; loop-- ) + TMsvId parentId = iParentOfCurrent->EntryId(); + // there is no need to check sub folder entry , if + // parent ID is Inbox/Draft/sent/outbox + if(parentId != KMsvGlobalOutBoxIndexEntryId && + parentId != KMsvGlobalInBoxIndexEntryId && + parentId != KMsvDraftEntryId && + parentId != KMsvSentEntryId ) { - const TMsvEntry& childEntry = iParentOfCurrent->ChildDataL( ( *tempSel )[loop] ); - - if ( childEntry.iType.iUid != KUidMsvMessageEntryValue ) + // remove all except messages from the list. + for ( TInt loop = tempSel->Count() - 1; loop >= 0; loop-- ) { - tempSel->Delete( loop ); + const TMsvEntry& childEntry = iParentOfCurrent->ChildDataL( ( *tempSel )[loop] ); + + if ( childEntry.iType.iUid != KUidMsvMessageEntryValue ) + { + tempSel->Delete( loop ); + } } } - // Use the new child list delete iChildrenOfParent; CleanupStack::Pop( tempSel );