kerneltest/e32test/resourceman/d_rescontrolcli.cpp
changeset 244 a77889bee936
parent 90 947f0dc9f7a8
child 269 d57b86b1867a
--- a/kerneltest/e32test/resourceman/d_rescontrolcli.cpp	Fri Aug 06 16:34:38 2010 +0100
+++ b/kerneltest/e32test/resourceman/d_rescontrolcli.cpp	Thu Aug 12 11:55:14 2010 +0100
@@ -283,12 +283,6 @@
 	{
 	if(iDfcQ)
 	  iDfcQ->Destroy();
-	if(iStaticRes)
-		delete iStaticRes;
-	if(iStaticResArray[0])
-		delete iStaticResArray[0];
-	if(iStaticResArray[2])
-		delete iStaticResArray[2];
 	}
 
 /** Entry point for this driver */
@@ -319,7 +313,7 @@
 		return NULL;
 		}
 	//Allocating memory earlier so that during failure conditions can cleanup easily
-	p->iStaticRes = new DLaterRegisterStaticResource();
+	p->iStaticRes = new DLaterRegisterStaticResource(); // it will be registered, and later destroyed by the ResourceManager
 	if(!p->iStaticRes)
 		{
 		delete p->iClient.pName;
@@ -327,7 +321,7 @@
 		p->AsyncDelete();
 		return NULL;
 		}
-	p->iStaticResArray[0] = new DLaterRegisterStaticResource1();
+	p->iStaticResArray[0] = new DLaterRegisterStaticResource1(); // it will be registered, and later destroyed by the ResourceManager
 	if(!p->iStaticResArray[0])
 		{
 		delete p->iStaticRes;
@@ -1337,7 +1331,7 @@
 	TInt r = PowerResourceManager::CancelNotification(iClient.iClientId, aResId, *ptr);
 	if(r == KErrCancel)
 		{
-		delete ptr;
+		ptr->AsyncDelete();
 		if(iPostBootNotiCount == EXPECTED_POST_NOTI_COUNT)
 			{
 			r = PowerResourceManager::DeRegisterClient(DTestResManLddFactory::iClient.iClientId);