mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
fix(column): ignore empty signcols range (#28177)
Problem: Invalid assert for empty signcols range. The empty range should already be removed from "b_signcols" at this point. The "clear" == kTrue call before the splice that made the range empty will have removed it, and the "clear" == kNone call after the splice already ignores the empty range. Solution: Return early when "row2" < "row1".
This commit is contained in:
parent
5581a90e20
commit
97122eaa1c
@ -792,12 +792,11 @@ static const uint32_t signtext_filter[4] = {[kMTMetaSignText] = kMTFilterSelect
|
|||||||
/// @param clear kFalse, kTrue or kNone for an, added/deleted, cleared, or initialized range.
|
/// @param clear kFalse, kTrue or kNone for an, added/deleted, cleared, or initialized range.
|
||||||
void buf_signcols_count_range(buf_T *buf, int row1, int row2, int add, TriState clear)
|
void buf_signcols_count_range(buf_T *buf, int row1, int row2, int add, TriState clear)
|
||||||
{
|
{
|
||||||
if (!buf->b_signcols.autom || !buf_meta_total(buf, kMTMetaSignText)) {
|
if (!buf->b_signcols.autom || row2 < row1 || !buf_meta_total(buf, kMTMetaSignText)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allocate an array of integers holding the number of signs in the range.
|
// Allocate an array of integers holding the number of signs in the range.
|
||||||
assert(row2 >= row1);
|
|
||||||
int *count = xcalloc(sizeof(int), (size_t)(row2 + 1 - row1));
|
int *count = xcalloc(sizeof(int), (size_t)(row2 + 1 - row1));
|
||||||
MarkTreeIter itr[1];
|
MarkTreeIter itr[1];
|
||||||
MTPair pair = { 0 };
|
MTPair pair = { 0 };
|
||||||
|
Loading…
Reference in New Issue
Block a user