diff options
author | Neil <nyamatongwe@gmail.com> | 2016-12-09 09:05:21 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2016-12-09 09:05:21 +1100 |
commit | 82ee0a0a14f83b3d85e7298f82165667c77b9a34 (patch) | |
tree | 5fb285e157cdbd5d761b8dedf67c77c83f302b4c /src/Editor.cxx | |
parent | 6a529a0ea1126b231577507ed03389f32b962f67 (diff) | |
download | scintilla-mirror-82ee0a0a14f83b3d85e7298f82165667c77b9a34.tar.gz |
Use double coordinates instead of float in some cases as float ran out of
precision in long documents. This meant that individual lines could not be
selected by mouse when the document exceeded 16.7 million lines.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r-- | src/Editor.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 5c9e20d71..8e4ebf18a 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -283,8 +283,8 @@ Point Editor::GetVisibleOriginInMain() const { return Point(0,0); } -Point Editor::DocumentPointFromView(Point ptView) const { - Point ptDocument = ptView; +PointDocument Editor::DocumentPointFromView(Point ptView) const { + PointDocument ptDocument(ptView); if (wMargin.GetID()) { Point ptOrigin = GetVisibleOriginInMain(); ptDocument.x += ptOrigin.x; @@ -399,8 +399,8 @@ SelectionPosition Editor::SPositionFromLocation(Point pt, bool canReturnInvalid, if (pt.y < 0) return SelectionPosition(INVALID_POSITION); } - pt = DocumentPointFromView(pt); - return view.SPositionFromLocation(surface, *this, pt, canReturnInvalid, charPosition, virtualSpace, vs); + PointDocument ptdoc = DocumentPointFromView(pt); + return view.SPositionFromLocation(surface, *this, ptdoc, canReturnInvalid, charPosition, virtualSpace, vs); } int Editor::PositionFromLocation(Point pt, bool canReturnInvalid, bool charPosition) { |