@@ -99,6 +99,7 @@ new(PyTypeObject *type, PyObject *args, PyObject UNUSED *kwds) {
9999 self -> modes = empty_modes ;
100100 self -> is_dirty = true;
101101 self -> scroll_changed = false;
102+ self -> pixel_scroll_changed = false;
102103 self -> margin_top = 0 ; self -> margin_bottom = self -> lines - 1 ;
103104 self -> history_line_added_count = 0 ;
104105 RESET_CHARSETS ;
@@ -1115,6 +1116,7 @@ screen_erase_in_display(Screen *self, unsigned int how, bool private) {
11151116 self -> scrolled_by = 0 ;
11161117 self -> scroll_changed = true;
11171118 }
1119+ pixel_scroll (self , 0 );
11181120 }
11191121}
11201122
@@ -1476,6 +1478,7 @@ screen_update_cell_data(Screen *self, void *address, FONTS_DATA_HANDLE fonts_dat
14761478 if (self -> scrolled_by ) self -> scrolled_by = MIN (self -> scrolled_by + history_line_added_count , self -> historybuf -> count );
14771479 screen_reset_dirty (self );
14781480 self -> scroll_changed = false;
1481+ self -> pixel_scroll_changed = false;
14791482 for (index_type y = 0 ; y < MIN (self -> lines , self -> scrolled_by ); y ++ ) {
14801483 lnum = self -> scrolled_by - 1 - y ;
14811484 historybuf_init_line (self -> historybuf , lnum , self -> historybuf -> line );
@@ -1994,7 +1997,7 @@ screen_selection_range_for_word(Screen *self, index_type x, index_type *y1, inde
19941997
19951998void pixel_scroll (Screen * self , double amt ) {
19961999 self -> scrolled_by_pixels = amt ;
1997- self -> scroll_changed = true;
2000+ self -> pixel_scroll_changed = true;
19982001}
19992002
20002003bool
0 commit comments