aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index 74701bd8c..6531ad264 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -525,14 +525,13 @@ static bool IsSubordinate(FoldLevel levelStart, FoldLevel levelTry) noexcept {
}
Sci::Line Document::GetLastChild(Sci::Line lineParent, std::optional<FoldLevel> level, Sci::Line lastLine) {
- if (!level)
- level = LevelNumberPart(GetFoldLevel(lineParent));
+ const FoldLevel levelStart = level.value_or(LevelNumberPart(GetFoldLevel(lineParent)));
const Sci::Line maxLine = LinesTotal();
const Sci::Line lookLastLine = (lastLine != -1) ? std::min(LinesTotal() - 1, lastLine) : -1;
Sci::Line lineMaxSubord = lineParent;
while (lineMaxSubord < maxLine - 1) {
EnsureStyledTo(LineStart(lineMaxSubord + 2));
- if (!IsSubordinate(*level, GetFoldLevel(lineMaxSubord + 1)))
+ if (!IsSubordinate(levelStart, GetFoldLevel(lineMaxSubord + 1)))
break;
if ((lookLastLine != -1) && (lineMaxSubord >= lookLastLine) && !LevelIsWhitespace(GetFoldLevel(lineMaxSubord)))
break;