videoscheduler/SchedulerServer/src/CCseScheduleDB.cpp
changeset 55 5af11d9814f5
parent 0 822a42b6c3f1
--- a/videoscheduler/SchedulerServer/src/CCseScheduleDB.cpp	Tue Jan 26 12:55:56 2010 +0200
+++ b/videoscheduler/SchedulerServer/src/CCseScheduleDB.cpp	Thu Nov 04 11:29:04 2010 +0200
@@ -1430,11 +1430,16 @@
     {
     CSELOGSTRING_HIGH_LEVEL(">>>CCseScheduleDB::CompactDb");
     // Compact database
-    TInt err( iScheduleDb.Compact() );
-    if ( err != KErrNone )
+
+    if( iDbAccess != ECseDbLocked )
         {
-        CSELOGSTRING2_HIGH_LEVEL("iScheduleDb.Compact() failed: %d", err);    
+        TInt err( iScheduleDb.Compact() );
+        if ( err != KErrNone )
+            {
+            CSELOGSTRING2_HIGH_LEVEL("iScheduleDb.Compact() failed: %d", err);    
+            }
         }
+    
     // Cancel timer if it is running    
 	if ( iCompactTimer )
 		{
@@ -1463,6 +1468,14 @@
             {
             // Backup and restore starting, close the db
             CloseDbFile();
+            
+            // Cancel timer if it is running    
+            if ( iCompactTimer )
+                {
+                iCompactTimer->Cancel();
+                delete iCompactTimer;
+                iCompactTimer = NULL;       
+                }
             }
             break;