diff -r 433cbbb6a04b -r 10534483575f uiacceltk/hitchcock/ServerCore/Src/alfsrvdisplaysubsession.cpp --- a/uiacceltk/hitchcock/ServerCore/Src/alfsrvdisplaysubsession.cpp Fri Mar 12 15:47:04 2010 +0200 +++ b/uiacceltk/hitchcock/ServerCore/Src/alfsrvdisplaysubsession.cpp Mon Mar 15 12:43:37 2010 +0200 @@ -33,6 +33,13 @@ #include #include +// ETrue if client defined display quality is supported, EFalse if not. +// As there is other content than this ALF application content in the scene, +// it's better ignore client quality hints. +// Note: If this is supported and client gains focus, client quality setting is +// taken into use and applied to the whole scene. However, when client loses +// focus, quality setting is not restored. +const TBool KAlfSrvClientQualitySupport = EFalse; // ======== MEMBER FUNCTIONS ======== @@ -257,7 +264,12 @@ iBackgroundItems.Reset(); // Set background - Display().SetClearBackgroundL( CHuiDisplay::TClearMode( clearBackground )); + TRAPD(err, Display().SetClearBackgroundL( CHuiDisplay::TClearMode( clearBackground )) ); + // Don't let client see timeout errors from our internal services implementation + if( err != KErrNone && err != KErrTimedOut ) + { + User::Leave(err); + } } // Complete @@ -368,7 +380,7 @@ TPckg valuePckg(value); aMessage.Read(1,valuePckg); - if ( session.IsFocused() ) + if ( KAlfSrvClientQualitySupport && session.IsFocused() ) { // Set quality Display().SetQuality(value); @@ -395,7 +407,7 @@ THuiQuality value = EHuiQualityAccurate; TPckg valuePckg(value); - if ( session.IsFocused() ) + if ( KAlfSrvClientQualitySupport && session.IsFocused() ) { // Get quality value = Display().Quality(); @@ -696,8 +708,11 @@ TRAP_IGNORE(iDisplay->SetClearBackgroundL( CHuiDisplay::TClearMode(iDisplayClearBackground))) } - - iDisplay->SetQuality(THuiQuality(iDisplayRenderingQuality)); + + if ( KAlfSrvClientQualitySupport ) + { + iDisplay->SetQuality(THuiQuality(iDisplayRenderingQuality)); + } iDisplay->SetUseDepth(iDisplayUseDepthTest); UpdateAutomaticFading(); // update non-fading to app ui container