--- a/syncmlfw/syncmlnotifier/src/SyncMLPreSyncPluginInterface.cpp Wed Mar 31 23:00:03 2010 +0300
+++ b/syncmlfw/syncmlnotifier/src/SyncMLPreSyncPluginInterface.cpp Wed Apr 14 16:50:34 2010 +0300
@@ -17,6 +17,7 @@
// INCLUDE FILES
+#include <nsmlconstants.h>
#include "SyncMLPreSyncPluginInterface.h"
#include "CPreSyncPlugin.h"
@@ -97,11 +98,14 @@
CPreSyncPlugin* syncPlugin = NULL;
CPreSyncPlugin* defaultSyncPlugin = NULL;
+ CleanupRImplInfoPtrArrayPushL( &infoArray );
+
// Get list of all implementations
TRAPD(error, ListAllImplementationsL( infoArray ));
if (error != KErrNone)
{
+ CleanupStack::PopAndDestroy( &infoArray );
return NULL;
}
@@ -137,18 +141,20 @@
}
}
- infoArray.ResetAndDestroy();
+ CleanupStack::PopAndDestroy( &infoArray );
if(bHandleSync == true)
{
//delete defaultSyncPlugin;
if(defaultSyncPlugin != NULL)
{
- CleanupStack::PopAndDestroy(defaultSyncPlugin);
+ delete defaultSyncPlugin;
}
+ CleanupStack::PushL(syncPlugin);
return syncPlugin;
}
else
- {
+ {
+ CleanupStack::PushL(defaultSyncPlugin);
return defaultSyncPlugin;
}
}
@@ -171,7 +177,6 @@
// REComSession
CPreSyncPlugin *preSyncPlugin= NULL;
preSyncPlugin = CPreSyncPlugin::NewL(aImpUid);
- CleanupStack::PushL(preSyncPlugin);
return preSyncPlugin;
/*
TAny* implementation = REComSession::CreateImplementationL ( aImpUid,