Fixed lock up when system time jumps backwards
Signed-off-by: Christoph Lohmann <20h@r-36.net>master
parent
0f6942cdf6
commit
489982d4b8
7
st.c
7
st.c
|
@ -3687,6 +3687,8 @@ run(void) {
|
||||||
gettimeofday(&last, NULL);
|
gettimeofday(&last, NULL);
|
||||||
|
|
||||||
for(xev = actionfps;;) {
|
for(xev = actionfps;;) {
|
||||||
|
long deltatime;
|
||||||
|
|
||||||
FD_ZERO(&rfd);
|
FD_ZERO(&rfd);
|
||||||
FD_SET(cmdfd, &rfd);
|
FD_SET(cmdfd, &rfd);
|
||||||
FD_SET(xfd, &rfd);
|
FD_SET(xfd, &rfd);
|
||||||
|
@ -3720,8 +3722,9 @@ run(void) {
|
||||||
gettimeofday(&lastblink, NULL);
|
gettimeofday(&lastblink, NULL);
|
||||||
dodraw = 1;
|
dodraw = 1;
|
||||||
}
|
}
|
||||||
if(TIMEDIFF(now, last) \
|
deltatime = TIMEDIFF(now, last);
|
||||||
> (xev? (1000/xfps) : (1000/actionfps))) {
|
if(deltatime > (xev? (1000/xfps) : (1000/actionfps))
|
||||||
|
|| deltatime < 0) {
|
||||||
dodraw = 1;
|
dodraw = 1;
|
||||||
last = now;
|
last = now;
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue