(svn r22800) -Fix (r22796): don't run the scanning threaded when there is no reason to do so (no UI to update)

This commit is contained in:
rubidium 2011-08-21 13:19:06 +00:00
parent 23e5720392
commit c10d415723
1 changed files with 5 additions and 1 deletions

View File

@ -19,6 +19,8 @@
#include "window_func.h" #include "window_func.h"
#include "progress.h" #include "progress.h"
#include "thread/thread.h" #include "thread/thread.h"
#include "blitter/factory.hpp"
#include "network/network.h"
#include "fileio_func.h" #include "fileio_func.h"
#include "fios.h" #include "fios.h"
@ -694,9 +696,11 @@ void DoScanNewGRFFiles(void *callback)
*/ */
void ScanNewGRFFiles(NewGRFScanCallback *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_work_mutex->EndCritical();
_modal_progress_paint_mutex->EndCritical();
DoScanNewGRFFiles(callback); DoScanNewGRFFiles(callback);
_modal_progress_paint_mutex->BeginCritical();
_modal_progress_work_mutex->BeginCritical(); _modal_progress_work_mutex->BeginCritical();
} }
} }