--- 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