# HG changeset patch # User smatz # Date 2009-11-02 13:36:17 # Node ID 72f7a43f410b8b778225d5c6618ebf4c7216d123 # Parent 0c51240dab8a204181ced070f5da8015145347aa (svn r17950) -Fix (r17776): _draw_mutex was never destroyed, _draw_thread was never joined diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -523,7 +523,7 @@ void VideoDriver_SDL::MainLoop() InteractiveRandom(); // randomness while (PollEvent() == -1) {} - if (_exit_game) return; + if (_exit_game) break; mod = SDL_CALL SDL_GetModState(); keys = SDL_CALL SDL_GetKeyState(&numkeys); @@ -592,6 +592,8 @@ void VideoDriver_SDL::MainLoop() if (_draw_threaded) { _draw_continue = false; + /* Sending signal if there is no thread blocked + * is very valid and results in noop */ _draw_mutex->SendSignal(); _draw_mutex->EndCritical(); _draw_thread->Join();