--- a/metadataengine/server/src/mdsserver.cpp Thu Jul 15 19:07:24 2010 +0300
+++ b/metadataengine/server/src/mdsserver.cpp Thu Aug 19 10:20:41 2010 +0300
@@ -403,6 +403,7 @@
// TRAP InstallL - first time for if there has been schema update, and
// the DB version is too old. Delete the DB and try to recreate it
TRAPD( error, iMaintenance->InstallL( *iManipulate, *iSchema ) );
+
if( error == KErrCorrupt )
{
delete iSchema;
@@ -419,6 +420,7 @@
// during update, and the first attempt to recreate the DB fails.
// Then schema file in rom is used for final attempt to recreate the DB
TRAP( error, iMaintenance->InstallL( *iManipulate, *iSchema ) );
+
if( error == KErrCorrupt )
{
delete iSchema;
@@ -487,19 +489,30 @@
iClientThread.Close();
delete iBURWatcher;
+ iBURWatcher = NULL;
delete iDiskSpaceGarbageCollectorNotifier;
+ iDiskSpaceGarbageCollectorNotifier = NULL;
delete iDiskFullNotifier;
+ iDiskFullNotifier = NULL;
delete iManipulate;
+ iManipulate = NULL;
delete iSchema;
+ iSchema = NULL;
delete iNotifier;
+ iNotifier = NULL;
delete iLockList;
+ iLockList = NULL;
delete iMaintenance;
+ iMaintenance = NULL;
delete iDefaultDBConnection;
+ iDefaultDBConnection = NULL;
delete iHarvestingPrioritizationSerializationBuffer;
+ iHarvestingPrioritizationSerializationBuffer = NULL;
iHarvestingPrioritizationChunk.Close();
delete iShutdownObserver;
+ iShutdownObserver = NULL;
__LOGLB( ELogAlways, "Server stop" );
__DESTROY_LOGGER;
@@ -947,6 +960,7 @@
{
TRAP(result, CMdSServer::ThreadFunctionL());
delete cleanup;
+ cleanup = NULL;
}
__UHEAP_MARKEND;
return result;