src/screensaverview.cpp
branchRCL_3
changeset 11 4784a3bc2236
parent 0 040fcad49f44
child 14 d8eca2b0590d
--- a/src/screensaverview.cpp	Wed Mar 31 21:32:18 2010 +0300
+++ b/src/screensaverview.cpp	Wed Apr 14 15:58:13 2010 +0300
@@ -31,6 +31,7 @@
 #include "screensaverengine.h"
 #include "screensavershareddatai.h"
 
+const TUid KBigClockScreensaverPluginImplUid = { 0x2002E6DE };
 
 // -----------------------------------------------------------------------------
 // CScreensaverView::NewLC
@@ -93,6 +94,13 @@
         case EDisplayPlugin:
             {
             iControl = CScreensaverCtrlPlugin::NewL();
+            CScreensaverCtrlPlugin* pluginCtrl = 
+                STATIC_CAST( CScreensaverCtrlPlugin*, iControl );
+            if ( pluginCtrl->PluginImplementationUid() ==
+                 KBigClockScreensaverPluginImplUid )
+                {
+                iIsContentless = ETrue;
+                }
             break;
             }
             
@@ -106,6 +114,7 @@
         case EDisplayNone:
             {
             iControl = CScreensaverCtrlNone::NewL();
+            iIsContentless = ETrue;
             break;
             }
             
@@ -156,6 +165,15 @@
         EScreenSaverPreviewError );
     }
 
+// ---------------------------------------------------------------------------
+// CScreensaverView::IsContentlessScreensaver
+// ---------------------------------------------------------------------------
+//
+TBool CScreensaverView::IsContentlessScreensaver() const
+    {
+    return iIsContentless;
+    }
+
 // -----------------------------------------------------------------------------
 // CScreensaverView::Id
 // -----------------------------------------------------------------------------
@@ -203,8 +221,11 @@
     {
     SCRLOGGER_WRITEF(_L("SCR: CScreensaverView::HideDisplayObject "));
     iControl->StopDrawObject();
-    
-    ScreensaverUtility::SendToBackground();
+
+    if ( !IsContentlessScreensaver() )
+        {
+        ScreensaverUtility::SendToBackground();
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -257,5 +278,6 @@
         delete iControl;
         iControl = NULL;
         }
+    iIsContentless = EFalse;
     }
 // End of file