Corrected thumbnail loading and timeout handling
This commit is contained in:
parent
1e84773276
commit
dcd04e526d
42
main.c
42
main.c
|
@ -357,31 +357,31 @@ void run() {
|
|||
redraw();
|
||||
|
||||
while (1) {
|
||||
if (!XPending(win.env.dpy)) {
|
||||
while (mode == MODE_THUMB && tns.cnt < filecnt &&
|
||||
!XPending(win.env.dpy))
|
||||
{
|
||||
/* load thumbnails */
|
||||
while (mode == MODE_THUMB && tns.cnt < filecnt) {
|
||||
win_set_cursor(&win, CURSOR_WATCH);
|
||||
if (tns_load(&tns, tns.cnt, &files[tns.cnt], False, False))
|
||||
tns.cnt++;
|
||||
else
|
||||
remove_file(tns.cnt, 0);
|
||||
if (tns.cnt == filecnt) {
|
||||
redraw();
|
||||
win_set_cursor(&win, CURSOR_ARROW);
|
||||
} else {
|
||||
set_timeout(redraw, TO_REDRAW_THUMBS, 0);
|
||||
check_timeouts(NULL);
|
||||
}
|
||||
win_set_cursor(&win, CURSOR_WATCH);
|
||||
set_timeout(redraw, TO_REDRAW_THUMBS, 0);
|
||||
if (tns_load(&tns, tns.cnt, &files[tns.cnt], False, False))
|
||||
tns.cnt++;
|
||||
else
|
||||
remove_file(tns.cnt, 0);
|
||||
if (tns.cnt == filecnt) {
|
||||
redraw();
|
||||
win_set_cursor(&win, CURSOR_ARROW);
|
||||
} else {
|
||||
check_timeouts(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
if (!XPending(win.env.dpy) && check_timeouts(&timeout)) {
|
||||
/* handle timeouts */
|
||||
if (check_timeouts(&timeout)) {
|
||||
xfd = ConnectionNumber(win.env.dpy);
|
||||
FD_ZERO(&fds);
|
||||
FD_SET(xfd, &fds);
|
||||
if (!select(xfd + 1, &fds, 0, 0, &timeout))
|
||||
check_timeouts(NULL);
|
||||
}
|
||||
xfd = ConnectionNumber(win.env.dpy);
|
||||
FD_ZERO(&fds);
|
||||
FD_SET(xfd, &fds);
|
||||
if (!select(xfd + 1, &fds, 0, 0, &timeout))
|
||||
check_timeouts(NULL);
|
||||
}
|
||||
|
||||
if (!XNextEvent(win.env.dpy, &ev)) {
|
||||
|
|
Loading…
Reference in New Issue