commit - 3cb9337907f257b2eb23c58f951d0a39407eebe8
commit + fe731b51aaf9031ee68b950393f97f9654bee63f
blob - 073f1d8a7443c9dbbc3b80a2ce3214102db001ba
blob + e0a3db5cbdda7afb9b8796c9939174b50df46a46
--- tog/tog.c
+++ tog/tog.c
if (err)
return err;
v->child->resized_y = v->child->begin_y;
- if (y > v->child->begin_y) /* split increased */
+ if (y > v->child->begin_y && v->child->type == TOG_VIEW_LOG)
v->child->nscrolled = y - v->child->begin_y;
+ else if (y < v->child->begin_y && v->type == TOG_VIEW_LOG)
+ v->nscrolled = v->child->begin_y - y;
} else {
if (v->child->resized_x)
v->child->begin_x = v->child->resized_x;
return err;
}
- if (v->type == TOG_VIEW_LOG && v->nscrolled)
+ if (v->nscrolled)
err = request_log_commits(v);
- else if (v->child->type == TOG_VIEW_LOG && v->child->nscrolled)
+ else if (v->child->nscrolled)
err = request_log_commits(v->child);
v->resize = v->child->resize = 0;
{
struct tog_log_view_state *state = &view->state.log;
const struct got_error *err = NULL;
+
+ if (state->thread_args.log_complete)
+ return NULL;
state->thread_args.commits_needed += view->nscrolled;
err = trigger_log_thread(view, 1);
s->first_displayed_entry = pentry;
} while (++nscrolled < maxscroll);
- if (view->mode == TOG_VIEW_SPLIT_HRZN)
+ if (view->mode == TOG_VIEW_SPLIT_HRZN && !s->thread_args.log_complete)
view->nscrolled += nscrolled;
else
view->nscrolled = 0;