Always clip buffer points when clipping display points
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
co-authored by
Nathan Sobo
parent
f898dc6dae
commit
4c22774694
@@ -598,17 +598,13 @@ impl BlockSnapshot {
|
||||
}
|
||||
|
||||
let output_start = Point::new(output_start_row.0, 0);
|
||||
if point.0 > output_start {
|
||||
let output_overshoot = point.0 - output_start;
|
||||
let input_start = Point::new(input_start_row.0, 0);
|
||||
let input_point = self
|
||||
.wrap_snapshot
|
||||
.clip_point(WrapPoint(input_start + output_overshoot), bias);
|
||||
let input_overshoot = input_point.0 - input_start;
|
||||
return BlockPoint(output_start + input_overshoot);
|
||||
} else {
|
||||
return BlockPoint(output_start);
|
||||
}
|
||||
let output_overshoot = point.0 - output_start;
|
||||
let input_start = Point::new(input_start_row.0, 0);
|
||||
let input_point = self
|
||||
.wrap_snapshot
|
||||
.clip_point(WrapPoint(input_start + output_overshoot), bias);
|
||||
let input_overshoot = input_point.0 - input_start;
|
||||
return BlockPoint(output_start + input_overshoot);
|
||||
} else if search_left {
|
||||
cursor.prev(&());
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user