diff --git a/BUGS b/BUGS index d972c63..9f42593 100644 --- a/BUGS +++ b/BUGS @@ -1,5 +1,4 @@ Current: -- Error sometimes when paging to the bottom of the file. Fixed: @@ -8,6 +7,7 @@ Fixed: - When largest line grows the bounding box should grow. - Input can be lost when typing quickly and diff-edit is busy. Seen with rapid undo while diffing. +- Error sometimes when paging to the bottom of the file. Won't fix: diff --git a/diff_edit/__init__.py b/diff_edit/__init__.py index d5a0c84..b43cde2 100755 --- a/diff_edit/__init__.py +++ b/diff_edit/__init__.py @@ -182,15 +182,14 @@ class DiffEditor: if left_start <= y < left_end: fraction = (y - left_start) / (left_end - left_start) return round(right_start + fraction * (right_end - right_start)) + return 0 def follow_scroll(self): x, y = self.editors[0].scroll_position last_width, last_height = self.last_dimensions middle_y = last_height // 2 new_y = self._equivalent_line(y + middle_y) - if new_y is None: - new_y = 0 - self.editors[1].scroll_position = max(0, x), new_y - middle_y + self.editors[1].scroll_position = max(0, x), max(0, new_y - middle_y) def switch_editor(self): self.editors[1].cursor_x = self.editors[0].cursor_x diff --git a/diff_edit/editor.py b/diff_edit/editor.py index 8742067..b55f367 100755 --- a/diff_edit/editor.py +++ b/diff_edit/editor.py @@ -658,7 +658,7 @@ class Editor: def scroll(self, dx, dy): view_x, view_y = self.scroll_position - self.scroll_position = view_x + dx, view_y + dy + self.scroll_position = max(0, view_x + dx), max(0, view_y + dy) def on_mouse_press(self, x, y): view_x, view_y = self.view_widget.position