diff -r bdf78597b41c -r 5af11d9814f5 videoscheduler/SchedulerServer/src/CCseSchedulerServer.cpp --- a/videoscheduler/SchedulerServer/src/CCseSchedulerServer.cpp Tue Jan 26 12:55:56 2010 +0200 +++ b/videoscheduler/SchedulerServer/src/CCseSchedulerServer.cpp Thu Nov 04 11:29:04 2010 +0200 @@ -168,13 +168,14 @@ CTrapCleanup* cleanupStack = CTrapCleanup::New(); if ( !cleanupStack ) { - PanicServer( ECseCreateTrapCleanup ); + CSELOGSTRING_HIGH_LEVEL("CCseSchedulerServer::ThreadFunction - Could not create cleanupstack: %d"); + return KErrNone; } TRAPD( err, ThreadFunctionL( ) ); if ( err ) { - PanicServer( ECseSrvCreateServer ); + CSELOGSTRING2_HIGH_LEVEL("CCseSchedulerServer::ThreadFunction - Main thread leaved: %d", err ); } delete cleanupStack; @@ -300,17 +301,21 @@ void CCseSchedulerServer::DeleteSchedulerEngine() { CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServer::DeleteSchedulerEngine"); - + if ( iContainerIx ) { - iSchedulerEngine->Close(); + if( iObjectCon->Count() > 0 ) + { + iSchedulerEngine->Close(); + } + iContainerIx->Remove( iObjectCon ); delete iContainerIx; iContainerIx = NULL; iSchedulerEngine = NULL; } - - if( iStarterBreaker->IsActive() ) + + if( iStarterBreaker && iStarterBreaker->IsActive() ) { iStarterBreaker->Cancel(); }