diff --git a/src/view/kateview.cpp b/src/view/kateview.cpp --- a/src/view/kateview.cpp +++ b/src/view/kateview.cpp @@ -3315,7 +3315,9 @@ KTextEditor::Range KTextEditor::ViewPrivate::visibleRange() { //ensure that the view is up-to-date, otherwise 'endPos()' might fail! - m_viewInternal->updateView(); + if (!m_viewInternal->endPos().isValid()) { + m_viewInternal->updateView(); + } return KTextEditor::Range(m_viewInternal->toRealCursor(m_viewInternal->startPos()), m_viewInternal->toRealCursor(m_viewInternal->endPos())); } @@ -3639,7 +3641,9 @@ attr->setForeground(fgColor); attr->setBackground(bgColor); - KTextEditor::Cursor start(visibleRange().start()); + KTextEditor::Range tmpVisibleRange = visibleRange(); + + KTextEditor::Cursor start(tmpVisibleRange.start()); KTextEditor::Range searchRange; /** @@ -3654,7 +3658,7 @@ QVector matches; do { - searchRange.setRange(start, visibleRange().end()); + searchRange.setRange(start, tmpVisibleRange.end()); matches = m_doc->searchText(searchRange, regex, KTextEditor::Regex);