omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp
branchRCL_3
changeset 72 1481bf457703
parent 71 1221b68b8a5f
--- a/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp	Tue Aug 31 15:29:38 2010 +0300
+++ b/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp	Wed Sep 01 12:21:16 2010 +0100
@@ -25,6 +25,7 @@
 #include <x509cert.h>
 #include <etelmm.h>
 #include <mmtsy_names.h>
+#include <featmgr.h>
 
 #ifdef RD_MULTIPLE_DRIVE
 #include <driveinfo.h>
@@ -210,10 +211,17 @@
     User::LeaveIfError(iFs.Connect());
     iFileMan = CFileMan::NewL(iFs);
 
-#ifdef __DRM_OMA2
-    TRAP_IGNORE( SelectDefaultRootL() ); // Allow startup anyway.
+    FeatureManager::InitializeLibL();
+    
+#ifdef __DRM_OMA2 
+    if ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
+        {
+        TRAP_IGNORE( SelectDefaultRootL() );
+        }
 #endif
-
+    
+    FeatureManager::UnInitializeLib();
+    
     iDeviceSpecificKey.Copy(KDefaultKey);
 
     LOG(_L("CDrmStdKeyStorage::ConstructL <-"));
@@ -576,9 +584,7 @@
     for (i = 0; i < dir->Count(); i++)
         {
         ReadFileL(iFs, (*dir)[i].iName, cert);
-        CleanupStack::PushL( cert );
         aCertChain.AppendL(cert);
-        CleanupStack::Pop( cert );
         }
     CleanupStack::PopAndDestroy(); // dir
     LOG(_L("CDrmStdKeyStorage::GetCertificateChainL <-"));