diff options
-rw-r--r-- | src/newgrf_config.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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(); } } |