diff -r aabf2c525e0f -r 9f56a4e1b8ab uifw/EikStd/coctlsrc/AknDoubleSpanScrollIndicator.cpp --- a/uifw/EikStd/coctlsrc/AknDoubleSpanScrollIndicator.cpp Fri Mar 12 15:43:43 2010 +0200 +++ b/uifw/EikStd/coctlsrc/AknDoubleSpanScrollIndicator.cpp Mon Mar 15 12:41:34 2010 +0200 @@ -69,8 +69,8 @@ void CAknDoubleSpanScrollIndicator::Draw(const TRect& /*aRect*/) const { CWindowGc& gc = SystemGc(); + if( iDrawBackground || iForceDrawBackground ) - if(iDrawBackground) { DrawBackground(); } @@ -218,12 +218,29 @@ checkedFieldPosition, checkedFieldSize); + TBool wasEmpty = iBackgroundRect.IsEmpty(); + TBool isEmpty = EFalse; + // If span (max number of items) is zero, then draw only the background if ( checkedScrollSpan == 0 || ( checkedScrollSpan <= checkedWindowSize ) ) { iBackgroundRect = TRect( 0, 0, 0, 0 ); iHandleBackgroundRect = TRect(0,0,0,0); iHandleRect = TRect(0,0,0,0); + iForceDrawBackground = ETrue; // to enable background drawing + isEmpty = ETrue; + } + else + { + iForceDrawBackground = EFalse; + } + if ( wasEmpty != isEmpty || iForceDrawBackground ) + { + DrawDeferred(); + } + + if ( isEmpty ) + { return; }