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:
parent
cdfd75da98
commit
8684ccb45c
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user