(svn r23977) -Fix: don't load a game during UpdateWindows as that might trigger changing the blitter which triggers re-entrant locking

This commit is contained in:
rubidium 2012-02-23 16:22:20 +00:00
parent 0aecd1fa7b
commit 37a4acc7e0
1 changed files with 5 additions and 4 deletions

View File

@ -1732,10 +1732,11 @@ void DrawDirtyBlocks()
_modal_progress_paint_mutex->BeginCritical();
_modal_progress_work_mutex->BeginCritical();
if (_switch_mode != SM_NONE && !HasModalProgress()) {
SwitchToMode(_switch_mode);
_switch_mode = SM_NONE;
}
/* When we ended with the modal progress, do not draw the blocks.
* Simply let the next run do so, otherwise we would be loading
* the new state (and possibly change the blitter) when we hold
* the drawing lock, which we must not do. */
if (_switch_mode != SM_NONE && !HasModalProgress()) return;
}
y = 0;