[meld] filediff: Dodge divide-by-zero in some edge cases
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] filediff: Dodge divide-by-zero in some edge cases
- Date: Mon, 1 May 2017 21:22:49 +0000 (UTC)
commit 033cae97dcd2bb1f7a06ff360e459cfea686bca3
Author: Kai Willadsen <kai willadsen gmail com>
Date: Tue May 2 07:19:55 2017 +1000
filediff: Dodge divide-by-zero in some edge cases
I'm not totally clear on when this happens, but in some cases (e.g.,
during slow file loading, when line revalidation is taking a while) we
occasionally get lines with a height of zero. Since this adjustment
exists mainly for smoother scrolling, it's easiest to just avoid the
zero rather than doing anything complicated.
meld/filediff.py | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index 4001b05..1522be3 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -1674,7 +1674,8 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
# Not doing this calculation makes scrolling jerky.
middle_iter, _ = self.textview[master].get_line_at_y(int(middle_y))
line_y, height = self.textview[master].get_line_yrange(middle_iter)
- target_line = middle_iter.get_line() + ((middle_y-line_y)/height)
+ height = height or 1
+ target_line = middle_iter.get_line() + ((middle_y - line_y) / height)
# In the case of two pane scrolling, it's clear how to bind
# scrollbars: if the user moves the left pane, we move the
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]