uifw/EikStd/coctlsrc/aknstyluspopupmenucontent.cpp
branchRCL_3
changeset 10 9f56a4e1b8ab
parent 9 aabf2c525e0f
child 55 aecbbf00d063
--- 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 ) );