diff -r aabf2c525e0f -r 9f56a4e1b8ab uifw/EikStd/coctlsrc/aknstyluspopupmenucontent.cpp --- a/uifw/EikStd/coctlsrc/aknstyluspopupmenucontent.cpp Fri Mar 12 15:43:43 2010 +0200 +++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenucontent.cpp Mon Mar 15 12:41:34 2010 +0200 @@ -795,6 +795,10 @@ { if ( Observer() ) { + if ( iExtension ) + { + iExtension->iInformObserver = EFalse; + } // this will close the stylus popup menu TRAP_IGNORE( Observer()->HandleControlEventL( this, MCoeControlObserver::EEventRequestExit ) ); @@ -804,6 +808,10 @@ { if ( Observer() ) { + if ( iExtension ) + { + iExtension->iInformObserver = EFalse; + } // this will close the stylus popup menu TRAP_IGNORE( Observer()->HandleControlEventL( this, MCoeControlObserver::EEventRequestCancel ) ); @@ -1020,7 +1028,7 @@ if ( aItem < iLastVisibleItem ) { - AknListUtils::DrawSeparator( aGc, rect, textColor ); + AknListUtils::DrawSeparator( aGc, rect, textColor, skin ); } } } @@ -1287,7 +1295,7 @@ iItems[i]->iRect = itemRect; } - if ( lastItem == iItems.Count() ) + if ( lastItem == iItems.Count() || ( Rect().Height() % singleItemHeight ) == 0 ) { // substract the partially visible item --lastItem; @@ -1404,6 +1412,10 @@ { if ( Observer() ) { + if ( iExtension ) + { + iExtension->iInformObserver = EFalse; + } // this will close the stylus popup menu TRAP_IGNORE( Observer()->HandleControlEventL( this, MCoeControlObserver::EEventRequestExit ) );