void TerminateGUI (int rcByGUI) { DestroyDskMsgQueue (); DestroyFreeQMSGList (); TerminateDesktop (); TerminateAccel (); TerminateControlClass (); TerminateMenu (); #ifdef _CURSOR_SUPPORT TerminateCursor (); #endif TerminateFixStr (); #ifdef _STAND_ALONE SendMessage (HWND_DESKTOP, MSG_ENDSESSION, 0, 0); StandAloneCleanup (); #else if (mgIsServer) { SendMessage (HWND_DESKTOP, MSG_ENDSESSION, 0, 0); /* Cleanup UNIX domain socket and other IPC objects. */ ServerCleanup (); } else { ClientCleanup (); } #endif }
//------------ // void TerminateRoutine( void ) // Performs the clean-up and terminate TAP { if(schDispSaveToFile == TRUE) { schWriteSearchList(); } TerminateMenu(); TerminateConfigMenu(); ReleaseLogoMemory(); // clean-up logo routines ExitRoutine(); TAP_MemFree(schLcnToServiceTv); TAP_MemFree(schLcnToServiceRadio); if( schEpgData ) { TAP_MemFree( schEpgData ); } if( schEpgDataExtendedInfo ) { TAP_MemFree( schEpgDataExtendedInfo ); } if( schConflictEpgData ) { TAP_MemFree( schConflictEpgData ); } freeAllReservedMemoryForLanguage(); TAP_Exit(); // exit }