(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

@@ -19,8 +19,7 @@
#include "window_func.h"
#include "progress.h"
#include "thread/thread.h"
#include "blitter/factory.hpp"
#include "network/network.h"
#include "video/video_driver.hpp"
#include "fileio_func.h"
#include "fios.h"
@@ -696,7 +695,7 @@ void DoScanNewGRFFiles(void *callback)
*/
void ScanNewGRFFiles(NewGRFScanCallback *callback)
{
if (BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 0 || _network_dedicated || !ThreadObject::New(&DoScanNewGRFFiles, callback, NULL)) {
if (!_video_driver->HasGUI() || !ThreadObject::New(&DoScanNewGRFFiles, callback, NULL)) {
_modal_progress_work_mutex->EndCritical();
_modal_progress_paint_mutex->EndCritical();
DoScanNewGRFFiles(callback);