--- a/uifw/AvKon/src/AknViewAppUi.cpp Fri Feb 19 23:04:46 2010 +0200
+++ b/uifw/AvKon/src/AknViewAppUi.cpp Fri Mar 12 15:43:43 2010 +0200
@@ -27,6 +27,10 @@
#include <aknclearer.h>
#include <AknUtils.h>
#include <akntoolbar.h>
+#include <akntranseffect.h>
+#include <centralrepository.h>
+
+
#include "aknview.h"
#include "aknshut.h"
#include "aknenv.h"
@@ -43,6 +47,10 @@
// CONSTANTS
const TInt KAknAppUiViewsGranularity = 1;
const TInt KAknViewAsyncPriority = EActivePriorityRedrawEvents + 10;
+const TUid KCRUidThemes = { 0x102818E8 }; // defined in pslninternalcrkeys.h
+const TUint32 KThemesTransitionEffects = 0x00000009; //defined in pslninternalcrkeys.h
+
+
#ifdef RD_SPLIT_VIEW
const TInt KAknSplitViewSize = 2;
@@ -229,11 +237,25 @@
AddToStackL( iExtension->iNavigator, ECoeStackPriorityDefault - 1, ECoeStackFlagRefusesFocus );
#endif // RD_SPLIT_VIEW
+
+ // disable CAknLocalScreenClearer when fullscreen effect is on
+ CRepository *uiThemeCenRep = CRepository::NewL( KCRUidThemes );
+ CleanupStack::PushL( uiThemeCenRep );
+ TInt effectValue = 0;
+ TBool themeEffectDisabled = ETrue;
+ if ( KErrNone == uiThemeCenRep->Get( KThemesTransitionEffects, effectValue ) )
+ {
+ themeEffectDisabled = effectValue & AknTransEffect::EFullScreenTransitionsOff;
+ }
+
if ( iEikonEnv->RootWin().OrdinalPosition() == 0 && // only clear the window for foreground apps
- iExtension->iUseDefaultScreenClearer )
+ iExtension->iUseDefaultScreenClearer && themeEffectDisabled )
{
iClearer = CAknLocalScreenClearer::NewL( ETrue );
}
+
+ CleanupStack::PopAndDestroy( uiThemeCenRep ); // uiThemeCenRep
+
}
// -----------------------------------------------------------------------------