diff options
author | peter1138 <peter1138@openttd.org> | 2009-12-03 08:24:39 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2009-12-03 08:24:39 +0000 |
commit | 3addf58f30c2dd4fa850611af11d7a897989722b (patch) | |
tree | 01a7c0cd6a1b1861750e3626924fc6c6ad4e108d | |
parent | 5c1fdfdd03d3b8f7138e891b8bc30dcb0a2a104f (diff) | |
download | openttd-3addf58f30c2dd4fa850611af11d7a897989722b.tar.xz |
(svn r18390) -Fix (r17776): [SDL] Reinstate pointer update on 'idle' loop.
-rw-r--r-- | src/video/sdl_v.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index f9ef164c0..1af499d0a 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -593,19 +593,23 @@ void VideoDriver_SDL::MainLoop() CheckPaletteAnim(); pal_tick = 1; } - - /* End of the critical part. */ - if (_draw_threaded && !IsGeneratingWorld()) { - _draw_mutex->SendSignal(); - } else { - /* Oh, we didn't have threads, then just draw unthreaded */ - DrawSurfaceToScreen(); - } } else { /* Release the thread while sleeping */ if (_draw_threaded) _draw_mutex->EndCritical(); CSleep(1); if (_draw_threaded) _draw_mutex->BeginCritical(); + + _screen.dst_ptr = _sdl_screen->pixels; + NetworkDrawChatMessage(); + DrawMouseCursor(); + } + + /* End of the critical part. */ + if (_draw_threaded && !IsGeneratingWorld()) { + _draw_mutex->SendSignal(); + } else { + /* Oh, we didn't have threads, then just draw unthreaded */ + DrawSurfaceToScreen(); } } |