--- a/uifw/EikStd/coctlsrc/AknButton.cpp Tue Feb 02 01:00:49 2010 +0200
+++ b/uifw/EikStd/coctlsrc/AknButton.cpp Fri Apr 16 15:13:44 2010 +0300
@@ -2227,8 +2227,7 @@
{
// State is changed on button down event
ChangeState( EFalse );
- redrawNeeded = EFalse;
- DrawNow(); //Redraw before noticing the observer for observer might open dialog
+ redrawNeeded = ETrue;
if ( Observer() )
{
Observer()->HandleControlEventL( this,
@@ -2336,7 +2335,6 @@
iButtonPressed = EFalse;
}
- TBool hasDrawn( EFalse );
if ( buttonEvent && !IsDimmed() )
{
// feedback/BasicButton on up event, if hit test is
@@ -2359,12 +2357,7 @@
!( iExtension->iFlags.IsSet( CAknButtonExtension::EKeyRepeatEventReported ) ) )
{
ChangeState( EFalse );
- if ( !hasDrawn )
- {
- DrawNow();
- hasDrawn = ETrue;
- }
-
+ redrawNeeded = ETrue;
if ( Observer() )
{
Observer()->HandleControlEventL( this,
@@ -2375,11 +2368,6 @@
{
if ( iExtension->iFlags.IsSet( CAknButtonExtension::ELongPressReported ) && Observer() )
{
- if ( redrawNeeded && !hasDrawn )
- {
- DrawNow();
- hasDrawn = ETrue;
- }
Observer()->HandleControlEventL( this,
static_cast<MCoeControlObserver::TCoeEvent>(
CAknButton::ELongPressEndedEvent ) );
@@ -2390,11 +2378,6 @@
if ( RequestExit() && Observer() )
{
- if ( redrawNeeded && !hasDrawn )
- {
- DrawNow();
- hasDrawn = ETrue;
- }
Observer()->HandleControlEventL( this,
MCoeControlObserver::EEventRequestExit );
}
@@ -2402,11 +2385,6 @@
if ( !buttonEvent && !IsDimmed() && Observer() )
{
- if ( redrawNeeded && !hasDrawn )
- {
- DrawNow();
- hasDrawn = ETrue;
- }
Observer()->HandleControlEventL( this,
MCoeControlObserver::EEventRequestCancel );
@@ -2419,10 +2397,7 @@
iExtension->iFlags.Clear( CAknButtonExtension::EKeyRepeatEventReported );
}
}
- if ( hasDrawn )
- {
- redrawNeeded = EFalse;
- }
+
break;
}