| @@ -363,11 +363,11 @@ void update_info(void) |
| 363 | 363 | | return; |
| 364 | 364 | | mark = files[sel].marked ? "* " : ""; |
| 365 | 365 | | if (mode == MODE_THUMB) { |
| 366 | | − | if (tns.cnt == filecnt) { |
| 366 | + | if (tns.loadnext >= filecnt) { |
| 367 | 367 | | n = snprintf(rt, rlen, "%s%0*d/%d", mark, fw, sel + 1, filecnt); |
| 368 | 368 | | ow_info = true; |
| 369 | 369 | | } else { |
| 370 | | − | snprintf(lt, llen, "Loading... %0*d/%d", fw, tns.cnt, filecnt); |
| 370 | + | snprintf(lt, llen, "Loading... %0*d/%d", fw, tns.loadnext, filecnt); |
| 371 | 371 | | rt[0] = '\0'; |
| 372 | 372 | | ow_info = false; |
| 373 | 373 | | } |
| @@ -434,7 +434,7 @@ void reset_cursor(void) |
| 434 | 434 | | } |
| 435 | 435 | | } |
| 436 | 436 | | } else { |
| 437 | | − | if (tns.cnt != filecnt) |
| 437 | + | if (tns.loadnext < filecnt) |
| 438 | 438 | | cursor = CURSOR_WATCH; |
| 439 | 439 | | else |
| 440 | 440 | | cursor = CURSOR_ARROW; |
| @@ -655,19 +655,22 @@ void run(void) |
| 655 | 655 | | set_timeout(redraw, 25, false); |
| 656 | 656 | | |
| 657 | 657 | | while (true) { |
| 658 | | − | while (mode == MODE_THUMB && tns.cnt < filecnt && |
| 658 | + | while (mode == MODE_THUMB && tns.loadnext < filecnt && |
| 659 | 659 | | XPending(win.env.dpy) == 0) |
| 660 | 660 | | { |
| 661 | 661 | | /* load thumbnails */ |
| 662 | 662 | | set_timeout(redraw, TO_REDRAW_THUMBS, false); |
| 663 | | − | if (tns_load(&tns, tns.cnt, &files[tns.cnt], false, false)) { |
| 664 | | − | tns.cnt++; |
| 663 | + | if (tns_load(&tns, tns.loadnext, &files[tns.loadnext], false, false)) { |
| 664 | + | if (tns.cnt == tns.loadnext) |
| 665 | + | tns.cnt++; |
| 665 | 666 | | } else { |
| 666 | | − | remove_file(tns.cnt, false); |
| 667 | + | remove_file(tns.loadnext, false); |
| 667 | 668 | | if (tns.sel > 0 && tns.sel >= tns.cnt) |
| 668 | 669 | | tns.sel--; |
| 669 | 670 | | } |
| 670 | | − | if (tns.cnt == filecnt) |
| 671 | + | while (tns.loadnext < filecnt && tns.thumbs[tns.loadnext].loaded) |
| 672 | + | tns.loadnext++; |
| 673 | + | if (tns.loadnext >= filecnt) |
| 671 | 674 | | redraw(); |
| 672 | 675 | | else |
| 673 | 676 | | check_timeouts(NULL); |