diff -r 05fbbb041e1f -r b57f3d42a10e uifw/AvKon/src/aknsignal.cpp --- a/uifw/AvKon/src/aknsignal.cpp Mon Mar 08 21:43:43 2010 +0000 +++ b/uifw/AvKon/src/aknsignal.cpp Sun Mar 14 13:10:48 2010 +0000 @@ -537,25 +537,31 @@ return; } - if ( AknStatuspaneUtils::StaconPaneActive() ) - { - // Signal pane in STACON PANE layout - DrawInStaconPane( Rect() ); - } - else if ( AknStatuspaneUtils::FlatLayoutActive() ) + // Don't allow normal background drawing if + // background is already drawn with a background drawer. + const MCoeControlBackground* backgroundDrawer = FindBackground(); + if ( !backgroundDrawer ) { - // Signal pane in FLAT STATUSPANE layout - DrawInFlatStatusPane( Rect() ); - } - else if ( AknStatuspaneUtils::SmallLayoutActive() ) - { - // Signal pane in SMALL STATUSPANE layout - DrawInSmallStatusPane( Rect() ); - } - else - { - // Signal pane in NORMAL STATUSPANE layout - DrawInNormalStatusPane( Rect() ); + if ( AknStatuspaneUtils::StaconPaneActive() ) + { + // Signal pane in STACON PANE layout + DrawInStaconPane( Rect() ); + } + else if ( AknStatuspaneUtils::FlatLayoutActive() ) + { + // Signal pane in FLAT STATUSPANE layout + DrawInFlatStatusPane( Rect() ); + } + else if ( AknStatuspaneUtils::SmallLayoutActive() ) + { + // Signal pane in SMALL STATUSPANE layout + DrawInSmallStatusPane( Rect() ); + } + else + { + // Signal pane in NORMAL STATUSPANE layout + DrawInNormalStatusPane( Rect() ); + } } }