diff -r 9f56a4e1b8ab -r 08e69e956a8c uifw/EikStd/coctlsrc/eikspane.cpp --- a/uifw/EikStd/coctlsrc/eikspane.cpp Mon Mar 15 12:41:34 2010 +0200 +++ b/uifw/EikStd/coctlsrc/eikspane.cpp Wed Mar 31 21:59:52 2010 +0300 @@ -1177,11 +1177,14 @@ * be also passed if @c aParentWindowGroup * is specified. * @param aTransparent Whether or not the control is transparent. + * @param aIsFaded Whether or not the control's window should + * be faded or not. */ void SetParentWindowL( RWindowGroup* aParentWindowGroup, CCoeControl* aParentControl, CRedrawStoreHandler* aRedrawStoreHandler, - TBool aTransparent ); + TBool aTransparent, + TBool aIsFaded ); /** * Sets the container control transparency. @@ -2604,7 +2607,8 @@ RWindowGroup* aParentWindowGroup, CCoeControl* aParentControl, CRedrawStoreHandler* aRedrawStoreHandler, - TBool aTransparent ) + TBool aTransparent, + TBool aIsFaded ) { if ( aParentWindowGroup ) { @@ -2613,6 +2617,9 @@ SetMopParent( iEikonEnv->EikAppUi() ); SetParent( NULL ); + // Maintain the window's ordinal position. + TInt ordinalPos = Window().OrdinalPosition(); + if ( OwnsWindow() ) { CloseWindow(); @@ -2644,6 +2651,9 @@ EnableDragEvents(); SetContainersL( *iControl, *this ); + + window.SetFaded( aIsFaded, RWindowTreeNode::EFadeIncludeChildren ); + window.SetOrdinalPosition( ordinalPos ); ActivateL(); } @@ -3786,6 +3796,8 @@ // component controls. TInt count( combinedPaneControl->CountComponentControls() ); + TBool isFaded( IsFaded() ); + for ( TInt i = 0; i < count; ++i ) { CEikStatusPaneContainer* subPane = @@ -3798,7 +3810,9 @@ subPane->SetParentWindowL( NULL, combinedPaneControl, NULL, - transparencyEnabled ); + transparencyEnabled, + isFaded ); + // Background is drawn by the combined pane so remove // the subpane's own background drawer. subPane->SetBackground( NULL ); @@ -3809,7 +3823,8 @@ iParentWindowGroup, NULL, iExtension ? iExtension->iRedrawStoreHandler : NULL, - transparencyEnabled ); + transparencyEnabled, + isFaded ); subPane->SetBackground( transparencyEnabled ? NULL : iExtension );