diff -r 0aa5fbdfbc30 -r 3d340a0166ff uifw/AvKon/src/aknlists.cpp --- a/uifw/AvKon/src/aknlists.cpp Tue Apr 27 16:55:05 2010 +0300 +++ b/uifw/AvKon/src/aknlists.cpp Tue May 11 16:27:42 2010 +0300 @@ -1612,6 +1612,12 @@ TInt pos = -1; TBool removeicon = (!aItemIsSelected && !ItemMarkReverse()) || (aItemIsSelected && ItemMarkReverse()); + + if ( Flags() & CListItemDrawer::EMarkingModeEnabled ) + { + removeicon = EFalse; + } + if ( Flags() & EDrawMarkSelection && ItemMarkPosition() != -1 && removeicon) { repl.Set( ItemMarkReplacement() ); @@ -3097,8 +3103,23 @@ transApi->StartDrawing( MAknListBoxTfxInternal::EListView ); } #endif //RD_UI_TRANSITION_EFFECTS_LIST - gc->SetBrushColor(this->BackColor()); - AknsDrawUtils::BackgroundBetweenRects( AknsUtils::SkinInstance(), cc, this, *gc, clientRect, this->iView->ViewRect() ); + + if ( this->iItemDrawer->Flags() + & CListItemDrawer::EDrawWholeBackground ) + { + AknsDrawUtils::Background( + AknsUtils::SkinInstance(), cc, this, *gc, clientRect ); + + this->iItemDrawer->SetFlags( CListItemDrawer::EBackgroundDrawn ); + } + else + { + gc->SetBrushColor(this->BackColor()); + AknsDrawUtils::BackgroundBetweenRects( + AknsUtils::SkinInstance(), cc, this, *gc, clientRect, + this->iView->ViewRect() ); + } + #ifdef RD_UI_TRANSITION_EFFECTS_LIST if ( transApi ) {