Fix crash when switching to non-existant line
- When switching from an insert area at the bottom of a file.
This commit is contained in:
parent
54f3b94caf
commit
365a76c4ed
2 changed files with 5 additions and 3 deletions
|
|
@ -209,7 +209,8 @@ class DiffEditor:
|
||||||
right_start, right_end, left_start, left_end
|
right_start, right_end, left_start, left_end
|
||||||
if left_start <= y < left_end:
|
if left_start <= y < left_end:
|
||||||
fraction = (y - left_start) / (left_end - left_start)
|
fraction = (y - left_start) / (left_end - left_start)
|
||||||
return round(right_start + fraction * (right_end - right_start))
|
other_y = round(right_start + fraction * (right_end - right_start))
|
||||||
|
return other_y - 1 if other_y == len(self.editors[1].text_widget) else other_y
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def follow_scroll(self):
|
def follow_scroll(self):
|
||||||
|
|
|
||||||
|
|
@ -263,8 +263,9 @@ class Editor:
|
||||||
if not self.is_editing:
|
if not self.is_editing:
|
||||||
return result
|
return result
|
||||||
if self.mark is None:
|
if self.mark is None:
|
||||||
result[self.cursor_y - view_y] = highlight_str(result[self.cursor_y - view_y],
|
with contextlib.suppress(IndexError): # Fix. The cursor should always be on screen.
|
||||||
termstr.Color.white, 0.8)
|
result[self.cursor_y - view_y] = highlight_str(result[self.cursor_y - view_y],
|
||||||
|
termstr.Color.white, 0.8)
|
||||||
else:
|
else:
|
||||||
(start_x, start_y), (end_x, end_y) = self.get_selection_interval()
|
(start_x, start_y), (end_x, end_y) = self.get_selection_interval()
|
||||||
screen_start_x = len(expand_str(self.text_widget[start_y][:start_x]))
|
screen_start_x = len(expand_str(self.text_widget[start_y][:start_x]))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue