diff -r 86979fe66c4c -r 504e41245867 syncmlfw/syncmlnotifier/src/SyncMLPreSyncPluginInterface.cpp --- 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 #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,