Fix a regression in 0.10 that caused incorrect rendering of the status bar in irssi when used inside screen.

Fixes #621. The cursor in margin check was incorrect causing upwards
movement of the cursor when below the bottom margin to be incorrect.
This commit is contained in:
Kovid Goyal 2018-06-11 10:13:21 +05:30
parent cde60b19e8
commit 7a7262923b
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
3 changed files with 9 additions and 2 deletions

View file

@ -86,6 +86,9 @@ Changelog
- Fix `kitty @ set-colors` not working with the window border colors.
(:iss:`623`)
- Fix a regression in 0.10 that caused incorrect rendering of the status bar in
irssi when used inside screen. (:iss:`621`)
0.10.1 [2018-05-24]
------------------------------

View file

@ -464,7 +464,7 @@ write_escape_code_to_child(Screen *self, unsigned char which, const char *data)
static inline bool
cursor_within_margins(Screen *self) {
return self->margin_top <= self->cursor->y && self->cursor->y >= self->margin_bottom;
return self->margin_top <= self->cursor->y && self->cursor->y <= self->margin_bottom;
}
void

View file

@ -319,11 +319,15 @@ def nl():
s.reset_mode(DECOM)
# Test that moving cursor outside the margins works as expected
s = self.create_screen(10, 10)
s.set_margins(5, 7)
s.set_margins(4, 6)
s.cursor_position(0, 0)
self.ae(s.cursor.y, 0)
nl()
self.ae(s.cursor.y, 1)
s.cursor.y = s.lines - 1
self.ae(s.cursor.y, 9)
s.reverse_index()
self.ae(s.cursor.y, 8)
def test_sgr(self):
s = self.create_screen()