mirror of
https://github.com/neovim/neovim.git
synced 2025-10-12 12:56:04 +00:00
quickfix: fix location list updates.
Fix quickfix performance optimization which prevented quickfix items from being updated when there were multiple windows with location lists but the buffer with errors only in one of the lists.
This commit is contained in:
@@ -951,11 +951,17 @@ static void mark_adjust_internal(linenr_T line1, linenr_T line2,
|
||||
one_adjust_nodel(&(curbuf->b_visual.vi_start.lnum));
|
||||
one_adjust_nodel(&(curbuf->b_visual.vi_end.lnum));
|
||||
|
||||
/* quickfix marks */
|
||||
qf_mark_adjust(NULL, line1, line2, amount, amount_after);
|
||||
/* location lists */
|
||||
// quickfix marks
|
||||
if (!qf_mark_adjust(NULL, line1, line2, amount, amount_after)) {
|
||||
curbuf->b_has_qf_entry &= ~BUF_HAS_QF_ENTRY;
|
||||
}
|
||||
// location lists
|
||||
bool found_one = false;
|
||||
FOR_ALL_TAB_WINDOWS(tab, win) {
|
||||
qf_mark_adjust(win, line1, line2, amount, amount_after);
|
||||
found_one |= qf_mark_adjust(win, line1, line2, amount, amount_after);
|
||||
}
|
||||
if (!found_one) {
|
||||
curbuf->b_has_qf_entry &= ~BUF_HAS_LL_ENTRY;
|
||||
}
|
||||
|
||||
sign_mark_adjust(line1, line2, amount, amount_after);
|
||||
|
Reference in New Issue
Block a user