diff -r 85902f042028 -r a5e7a4f63858 uifw/AvKon/src/AknViewAppUi.cpp --- a/uifw/AvKon/src/AknViewAppUi.cpp Wed Sep 15 12:29:17 2010 +0300 +++ b/uifw/AvKon/src/AknViewAppUi.cpp Wed Oct 13 14:50:15 2010 +0300 @@ -99,13 +99,6 @@ TInt iFlags; #endif // RD_SPLIT_VIEW TBool iUseDefaultScreenClearer; - - /** - * Used to control whether or not the default screen clearer - * is used when launching the application as embedded. By default the - * clearer isn't used for embedded applications. - */ - TBool iUseDefaultScreenClearerInEmbeddedLaunch; }; // ============================ MEMBER FUNCTIONS =============================== @@ -246,12 +239,8 @@ if ( iEikonEnv->RootWin().OrdinalPosition() == 0 && iExtension->iUseDefaultScreenClearer ) { - if ( !iEikonEnv->StartedAsServerApp() || - iExtension->iUseDefaultScreenClearerInEmbeddedLaunch ) + if ( !iEikonEnv->StartedAsServerApp() ) { - // Use transparent screen clearer for embedded applications, - // except for when application wants to use the normal - // screen clearer. iClearer = CAknLocalScreenClearer::NewL( ETrue ); } else @@ -280,10 +269,10 @@ CAknAppUi::CurrentFixedToolbar()->SetToolbarVisibility( EFalse ); } - delete iClearer; - delete iShutter; - delete iActivationTick; - + delete iClearer; + delete iShutter; + delete iActivationTick; + if ( iActivationQueue ) { iActivationQueue->ResetAndDestroy(); @@ -1025,16 +1014,18 @@ TRAP_IGNORE( iExtension = CAknViewAppUiExtension::NewL() ); } - // Update the flags + // Update flag if ( iExtension ) { iExtension->iUseDefaultScreenClearer = aEnable; - iExtension->iUseDefaultScreenClearerInEmbeddedLaunch = aEnable; } - // Delete the clearer if it already exists but isn't required anymore. - // The clearer is created when needed on BaseConstructL. - if ( !aEnable && iClearer ) + // Create/delete iClearer if required + if ( aEnable && !iClearer ) + { + TRAP_IGNORE( iClearer = CAknLocalScreenClearer::NewL( EFalse ) ); + } + else if ( !aEnable && iClearer ) { delete iClearer; iClearer = NULL;