From c10d4157233109aab8794d2455481d45bd44b019 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 21 Aug 2011 13:19:06 +0000 Subject: (svn r22800) -Fix (r22796): don't run the scanning threaded when there is no reason to do so (no UI to update) --- src/newgrf_config.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/newgrf_config.cpp') diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index 0cce15f2e..c8385aca4 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -19,6 +19,8 @@ #include "window_func.h" #include "progress.h" #include "thread/thread.h" +#include "blitter/factory.hpp" +#include "network/network.h" #include "fileio_func.h" #include "fios.h" @@ -694,9 +696,11 @@ void DoScanNewGRFFiles(void *callback) */ void ScanNewGRFFiles(NewGRFScanCallback *callback) { - if (!ThreadObject::New(&DoScanNewGRFFiles, callback, NULL)) { + if (BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 0 || _network_dedicated || !ThreadObject::New(&DoScanNewGRFFiles, callback, NULL)) { _modal_progress_work_mutex->EndCritical(); + _modal_progress_paint_mutex->EndCritical(); DoScanNewGRFFiles(callback); + _modal_progress_paint_mutex->BeginCritical(); _modal_progress_work_mutex->BeginCritical(); } } -- cgit v1.2.3-54-g00ecf