提交 39d9d8d2 编写于 作者: K Kentaro Wada

Clip x, y values before calling intersectingEdges

上级 df5e189e
......@@ -560,8 +560,12 @@ class Canvas(QtWidgets.QWidget):
(size.width() - 1, 0),
(size.width() - 1, size.height() - 1),
(0, size.height() - 1)]
x1, y1 = p1.x(), p1.y()
x2, y2 = p2.x(), p2.y()
# FIXME: below clipping is unnecessary on Linux and Mac,
# but required on Windows to avoid error in intersectingEdges
x1 = min(max(p1.x(), 0), size.width() - 1)
x2 = min(max(p2.x(), 0), size.width() - 1)
y1 = min(max(p1.y(), 0), size.height() - 1)
y2 = min(max(p2.y(), 0), size.height() - 1)
d, i, (x, y) = min(self.intersectingEdges((x1, y1), (x2, y2), points))
x3, y3 = points[i]
x4, y4 = points[(i + 1) % 4]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册