1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00

invalidate startline and bottom_startline when hidden

this was overlooked when adding hidden line support. if the lines are
removed, Irssi has to update the startline. It does that by "scrolling"
the lines to the proper place. The scroll function was adjusted to
calculate 0 for hidden lines, thus it would miss them.
This commit is contained in:
ailin-nemui 2018-09-28 11:40:50 +02:00
parent cdfd75da98
commit 8684ccb45c

View File

@ -1230,6 +1230,11 @@ static void view_remove_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
if (is_last == 1) if (is_last == 1)
view->startline = NULL; view->startline = NULL;
} }
if (view->startline == line) {
view->startline = line->next;
view->subline = 0;
}
} else { } else {
if (textbuffer_line_exists_after(view->bottom_startline, if (textbuffer_line_exists_after(view->bottom_startline,
line)) { line)) {
@ -1239,6 +1244,11 @@ static void view_remove_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
view->empty_linecount += linecount-realcount; view->empty_linecount += linecount-realcount;
} }
if (view->bottom_startline == line) {
view->bottom_startline = view->bottom_startline->next;
view->bottom_subline = 0;
}
if (textbuffer_line_exists_after(view->startline, if (textbuffer_line_exists_after(view->startline,
line)) { line)) {
view_remove_line_update_startline(view, line, view_remove_line_update_startline(view, line,