--- a/omadrm/drmengine/server/src/DRMRightsClient.cpp Tue Aug 31 15:29:38 2010 +0300
+++ b/omadrm/drmengine/server/src/DRMRightsClient.cpp Wed Sep 01 12:21:16 2010 +0100
@@ -19,6 +19,7 @@
// INCLUDE FILES
#include <s32file.h>
#include <etelmm.h>
+#include <featmgr.h>
#include "DRMRightsClient.h"
#include "DRMEngineClientServer.h"
#include "DrmPermission.h"
@@ -157,11 +158,23 @@
}
#ifdef __DRM_FULL
- // startup code, if it starts it starts if not it will be tried again.
- RDRMHelper helper;
- TInt ignore = helper.Connect(); // Start HelperServer
- helper.Close();
-#endif
+
+ TRAP( ret, FeatureManager::InitializeLibL() );
+
+ if ( !ret && FeatureManager::FeatureSupported( KFeatureIdFfOmadrm1FullSupport ) )
+ {
+ // startup code, if it starts it starts if not it will be tried again.
+ RDRMHelper helper;
+ TInt ignore = helper.Connect(); // Start HelperServer
+ helper.Close();
+ }
+
+ if ( !ret )
+ {
+ FeatureManager::UnInitializeLib();
+ }
+
+#endif
DRMLOG2( _L( "RDRMRightsClient::Connect(): Result: %d" ), ret );
@@ -841,9 +854,7 @@
Mem::Copy( &roSize, ptr.Ptr()+offset, sizeof(TInt) );
offset += sizeof (TInt);
ro = ptr.Mid(offset, roSize).AllocL();
- CleanupStack::PushL( ro );
- aRoList.AppendL (ro);
- CleanupStack::Pop( ro );
+ aRoList.Append(ro);
offset += roSize;
}
CleanupStack::PopAndDestroy();