diff options
Diffstat (limited to 'src/Editor.cxx')
| -rw-r--r-- | src/Editor.cxx | 6 | 
1 files changed, 2 insertions, 4 deletions
| diff --git a/src/Editor.cxx b/src/Editor.cxx index 740162faa..4f00e501a 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -9,6 +9,7 @@  #include <string.h>  #include <stdio.h>  #include <ctype.h> +#include <math.h>  #include <assert.h>  #include <string> @@ -480,10 +481,7 @@ SelectionPosition Editor::SPositionFromLocation(Point pt, bool canReturnInvalid,  			return SelectionPosition(INVALID_POSITION);  	}  	pt.x = pt.x - vs.fixedColumnWidth + xOffset; -	int visibleLine = pt.y / vs.lineHeight + topLine; -	if (pt.y < 0) {	// Division rounds towards 0 -		visibleLine = (static_cast<int>(pt.y) - (vs.lineHeight - 1)) / vs.lineHeight + topLine; -	} +	int visibleLine = floor(pt.y / vs.lineHeight) + topLine;  	if (!canReturnInvalid && (visibleLine < 0))  		visibleLine = 0;  	int lineDoc = cs.DocFromDisplay(visibleLine); | 
