mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
MarkdownEditor: fix bug in finding current heading logics
This commit is contained in:
parent
2369f6c4c8
commit
e454ea6e61
@ -785,7 +785,13 @@ int MarkdownEditor::getHeadingIndexByBlockNumber(int p_blockNumber) const
|
|||||||
if (val == p_blockNumber) {
|
if (val == p_blockNumber) {
|
||||||
return mid;
|
return mid;
|
||||||
} else if (val > p_blockNumber) {
|
} else if (val > p_blockNumber) {
|
||||||
|
// Skip the -1 headings.
|
||||||
|
// Bad case: [0, 2, 3, 43, 44, -1, 46, 60].
|
||||||
|
// If not skipped, [left, right] will be stuck at [4, 5].
|
||||||
right = mid - 1;
|
right = mid - 1;
|
||||||
|
while (right >= left && m_headings[right].m_blockNumber == -1) {
|
||||||
|
--right;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
left = mid;
|
left = mid;
|
||||||
}
|
}
|
||||||
@ -794,7 +800,7 @@ int MarkdownEditor::getHeadingIndexByBlockNumber(int p_blockNumber) const
|
|||||||
if (m_headings[left].m_blockNumber <= p_blockNumber && m_headings[left].m_blockNumber != -1) {
|
if (m_headings[left].m_blockNumber <= p_blockNumber && m_headings[left].m_blockNumber != -1) {
|
||||||
return left;
|
return left;
|
||||||
}
|
}
|
||||||
// Find the last heading with block number not greater than @p_blockNumber.
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user