fix: prevent negative offset in caret movement

This commit is contained in:
Carl-Robert Linnupuu 2025-01-06 13:26:11 +00:00
parent 8e2e384e32
commit cf685a9e72

View file

@ -41,6 +41,7 @@ import javax.swing.JComponent
import javax.swing.JPanel
import javax.swing.SwingUtilities
import kotlin.math.abs
import kotlin.math.max
class CodeSuggestionDiffViewer(
request: DiffRequest,
@ -222,7 +223,7 @@ class CodeSuggestionDiffViewer(
val previousChar = document.getText(TextRange(changeEndOffset - 1, changeEndOffset))
val offset = if (previousChar == "\n") changeEndOffset - 1 else changeEndOffset
mainEditor.caretModel.moveToOffset(offset)
mainEditor.caretModel.moveToOffset(max(offset, 0))
val offsetPosition = mainEditor.offsetToXY(offset)
val offsetVisible = mainEditor.scrollingModel.visibleArea.contains(offsetPosition)