mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r21308) -Fix [FS#4262] (r20933-ish): crash upon desync
This commit is contained in:
parent
e0432a4585
commit
bb02e30a37
|
@ -927,12 +927,16 @@ void NetworkGameLoop()
|
||||||
|
|
||||||
/* Make sure we are at the frame were the server is (quick-frames) */
|
/* Make sure we are at the frame were the server is (quick-frames) */
|
||||||
if (_frame_counter_server > _frame_counter) {
|
if (_frame_counter_server > _frame_counter) {
|
||||||
|
/* Run a number of frames; when things go bad, get out. */
|
||||||
while (_frame_counter_server > _frame_counter) {
|
while (_frame_counter_server > _frame_counter) {
|
||||||
if (!ClientNetworkGameSocketHandler::GameLoop()) break;
|
if (!ClientNetworkGameSocketHandler::GameLoop()) return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Else, keep on going till _frame_counter_max */
|
/* Else, keep on going till _frame_counter_max */
|
||||||
if (_frame_counter_max > _frame_counter) ClientNetworkGameSocketHandler::GameLoop();
|
if (_frame_counter_max > _frame_counter) {
|
||||||
|
/* Run one frame; if things went bad, get out. */
|
||||||
|
if (!ClientNetworkGameSocketHandler::GameLoop()) return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue