diff options
author | Bert Münnich <ber.t@posteo.de> | 2018-06-09 14:06:16 +0200 |
---|---|---|
committer | Bert Münnich <ber.t@posteo.de> | 2018-06-09 14:07:13 +0200 |
commit | 1de5f06f83408243211ba7872a15324fec7e3e01 (patch) | |
tree | cec24e61f671883b12ddfb44f4e60478c149f311 | |
parent | 5367b75867ccee99dcc5730bf04e3f3b10b4138d (diff) |
Set global markidx whenever a single img is (un)marked
This also sets *markidx* when using the right mouse button in thumbnail mode.
-rw-r--r-- | commands.c | 7 | ||||
-rw-r--r-- | main.c | 1 |
2 files changed, 4 insertions, 4 deletions
@@ -194,7 +194,6 @@ bool cg_zoom(arg_t d) bool cg_toggle_image_mark(arg_t _) { - markidx = fileidx; return mark_image(fileidx, !(files[fileidx].flags & FF_MARK)); } @@ -213,11 +212,11 @@ bool cg_reverse_marks(arg_t _) bool cg_mark_range(arg_t _) { - int i, d = fileidx < markidx ? 1 : -1; + int d = markidx < fileidx ? 1 : -1; bool dirty = false, on = !!(files[markidx].flags & FF_MARK); - for (i = fileidx; i != markidx; i += d) { - if (mark_image(i, on)) + while (markidx != fileidx) { + if (mark_image(markidx + d, on)) dirty = true; } return dirty; @@ -323,6 +323,7 @@ void load_image(int new) bool mark_image(int n, bool on) { + markidx = n; if (!!(files[n].flags & FF_MARK) != on) { files[n].flags ^= FF_MARK; markcnt += on ? 1 : -1; |