diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-02-12 17:09:35 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-02-12 17:20:23 +0300 |
commit | 00d092dc0f458a3967f26e82655212db1b0bcc59 (patch) | |
tree | 91e25c9ad7e039e8839c05d87ba463682672be5c /src/client.cpp | |
parent | a99b870ef80206eb58fb1b03dd64e8d0990ee268 (diff) | |
download | mv-00d092dc0f458a3967f26e82655212db1b0bcc59.tar.gz mv-00d092dc0f458a3967f26e82655212db1b0bcc59.tar.bz2 mv-00d092dc0f458a3967f26e82655212db1b0bcc59.tar.xz mv-00d092dc0f458a3967f26e82655212db1b0bcc59.zip |
Fix possible infinite loop, also bit improve speed.
Diffstat (limited to 'src/client.cpp')
-rw-r--r-- | src/client.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client.cpp b/src/client.cpp index a7825a835..ed3656ee0 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -864,7 +864,8 @@ int Client::gameExec() if (Net::getGeneralHandler()) Net::getGeneralHandler()->flushNetwork(); - while (get_elapsed_time(lastTickTime) > 0) + int k = 0; + while (lastTickTime != tick_time && k < 2) { if (gui) gui->logic(); @@ -874,6 +875,7 @@ int Client::gameExec() sound.logic(); ++lastTickTime; + k ++; } // This is done because at some point tick_time will wrap. |