src/screensaverctrlplugin.cpp
changeset 1 35d9bdabf175
parent 0 040fcad49f44
child 9 b3594157d381
equal deleted inserted replaced
0:040fcad49f44 1:35d9bdabf175
   491     TInt err = KErrNone;
   491     TInt err = KErrNone;
   492     if ( iPluginFlag.IsClear( EPluginFlagTimerNotUsed ) )
   492     if ( iPluginFlag.IsClear( EPluginFlagTimerNotUsed ) )
   493         {
   493         {
   494         err = iPlugin->Draw( gc );
   494         err = iPlugin->Draw( gc );
   495         }
   495         }
   496 	
   496     //Notice:add this code to shield the issue ELWG-7SF3R3.
   497 	if( err != KErrNone )
   497     //Prevent screensaver plugin from being called unexpected draw function,
   498 		{
   498     //which would cause chosen images are not displayed.
   499 		iPluginFlag.Set( EPluginFlagSuspend );
   499     //Check the err code return by iPlugin->Draw:
   500 		}
   500     //If draw action is correct and iPluginFlag has already been set EPluginFlagSuspend,
       
   501     //then clear this EPluginFlagSuspend
       
   502     if ( KErrNone == err && iPluginFlag.IsSet( EPluginFlagSuspend ) )
       
   503         {
       
   504         iPluginFlag.Clear( EPluginFlagSuspend );
       
   505         }
       
   506 
       
   507     if( err != KErrNone )
       
   508         {
       
   509         iPluginFlag.Set( EPluginFlagSuspend );
       
   510         }
   501     }
   511     }
   502 
   512 
   503 // -----------------------------------------------------------------------------
   513 // -----------------------------------------------------------------------------
   504 // CScreensaverCtrlPlugin::LoadPluginL
   514 // CScreensaverCtrlPlugin::LoadPluginL
   505 // -----------------------------------------------------------------------------
   515 // -----------------------------------------------------------------------------