Fixed inconsistencies in navigation when removing invalid files

master
Bert Münnich 2013-10-21 21:57:21 +02:00
parent 1b089bc2fa
commit 450c1ed9b5
2 changed files with 8 additions and 3 deletions

View File

@ -1,4 +1,4 @@
VERSION = git-20131005
VERSION = git-20131021
PREFIX = /usr/local
MANPREFIX = $(PREFIX)/share/man

9
main.c
View File

@ -160,6 +160,8 @@ void remove_file(int n, bool manual)
filecnt--;
if (n < tns.cnt)
tns.cnt--;
if (n < alternate)
alternate--;
}
void set_timeout(timeout_f handler, int time, bool overwrite)
@ -287,15 +289,18 @@ void load_image(int new)
win_set_cursor(&win, CURSOR_WATCH);
if (new != fileidx)
alternate = fileidx;
img_close(&img, false);
while (!img_load(&img, &files[new])) {
remove_file(new, false);
if (new >= filecnt)
new = filecnt - 1;
else if (new < fileidx)
new--;
}
files[new].loaded = true;
alternate = fileidx;
fileidx = new;
info.open = false;