diff options
author | Bert Münnich <ber.t@posteo.de> | 2013-10-21 21:57:21 +0200 |
---|---|---|
committer | Bert Münnich <ber.t@posteo.de> | 2013-10-21 21:57:21 +0200 |
commit | 450c1ed9b54de4d374bff80735c874bb6f7a4a0f (patch) | |
tree | 9d67d8ff630be22c641d2746aa4d3d49299dc828 | |
parent | 1b089bc2fa36fdbd69af25a15ec5ee3e8963b80d (diff) |
Fixed inconsistencies in navigation when removing invalid files
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | main.c | 9 |
2 files changed, 8 insertions, 3 deletions
@@ -1,4 +1,4 @@ -VERSION = git-20131005 +VERSION = git-20131021 PREFIX = /usr/local MANPREFIX = $(PREFIX)/share/man @@ -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; |