(svn r22818) -Fix [FS#4742] (r22796, rlongago): don't spawn threads for world generation and NewGRF scanning when using the dedicated or null video driver regardless of the used blitter

This commit is contained in:
rubidium
2011-08-24 12:11:10 +00:00
parent fde0b4ce14
commit 9fe4b959ac
6 changed files with 20 additions and 7 deletions

View File

@@ -24,7 +24,7 @@
#include "engine_func.h"
#include "newgrf_storage.h"
#include "water.h"
#include "blitter/factory.hpp"
#include "video/video_driver.hpp"
#include "tilehighlight_func.h"
#include "saveload/saveload.h"
#include "void_map.h"
@@ -310,8 +310,7 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti
_gw.thread = NULL;
}
if (BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 0 ||
!ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) {
if (!_video_driver->HasGUI() || !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) {
DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode");
_gw.threaded = false;
_modal_progress_work_mutex->EndCritical();