예제 #1
0
void ShutdownThreading()
{
	if (g_pWorker)
	{
		g_pWorker->Stop(true);
		delete g_pWorker;
		g_pWorker = NULL;
	}

	g_QueueLock->Lock();
	while (!g_ThreadQueue.empty())
	{
		delete g_ThreadQueue.front();
		g_ThreadQueue.pop();
	}
	while (!g_FreeThreads.empty())
	{
		delete g_FreeThreads.front();
		g_FreeThreads.pop();
	}
	g_QueueLock->Unlock();
	g_QueueLock->DestroyThis();

	FreeHandleTable();
}
예제 #2
0
TinselEngine::~TinselEngine() {
	if (MoviePlaying())
		FinishBMV();

	AudioCD.stop();
	delete _sound;
	delete _midiMusic;
	delete _pcmMusic;
	delete _console;
	delete _driver;
	_screenSurface.free();
	FreeSaveScenes();
	FreeTextBuffer();
	FreeHandleTable();
	FreeActors();
	FreeObjectList();
	FreeGlobalProcesses();
	FreeGlobals();
	delete _scheduler;
}
예제 #3
0
파일: tinsel.cpp 프로젝트: Fyre91/scummvm
TinselEngine::~TinselEngine() {
	if (_bmv->MoviePlaying())
		_bmv->FinishBMV();

	_system->getAudioCDManager()->stop();
	delete _bmv;
	delete _sound;
	delete _midiMusic;
	delete _pcmMusic;
	delete _console;
	_screenSurface.free();
	FreeSaveScenes();
	FreeTextBuffer();
	FreeHandleTable();
	FreeActors();
	FreeObjectList();
	FreeGlobalProcesses();
	FreeGlobals();

	delete _config;

	MemoryDeinit();
}
예제 #4
0
void OnAmxxDetach() {
    curl_global_cleanup();
    ShutdownThreading();
    FreeHandleTable();
}