1
0
mirror of https://github.com/irssi/irssi.git synced 2024-09-01 04:14:16 -04:00

bottom_startline lost?

This commit is contained in:
ailin-nemui 2019-10-13 21:35:30 +02:00
parent ef5579c212
commit 5776ca5e0b

View File

@ -1205,14 +1205,14 @@ static void view_remove_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
LINE_REC *prevline;
prevline = view->buffer->first_line == line ? NULL :
textbuffer_line_last(view->buffer);
textbuffer_line_last(view->buffer)->prev;
view->cache->last_linecount = prevline == NULL ? 0 :
view_get_linecount(view, prevline);
}
/* first line in the buffer - this is the most commonly
removed line.. */
if (view->buffer->first_line == line) {
/* first line in the buffer - this is the most commonly
removed line.. */
if (view->bottom_startline == line) {
/* very small scrollback.. */
view->bottom_startline = view->bottom_startline->next;
@ -1289,6 +1289,11 @@ void textbuffer_view_remove_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line)
}
textbuffer_remove(view->buffer, line);
if (view->bottom_startline == NULL) {
/* We may have removed the bottom_startline, make sure
that scroll doesn't get stuck */
textbuffer_view_init_bottom(view);
}
}
void textbuffer_view_remove_lines_by_level(TEXT_BUFFER_VIEW_REC *view, int level)