… | |
… | |
109 | if (refresh) |
109 | if (refresh) |
110 | { |
110 | { |
111 | int sb_top = term->view_start - term->top_row; |
111 | int sb_top = term->view_start - term->top_row; |
112 | int sb_bot = sb_top + (term->nrow - 1); |
112 | int sb_bot = sb_top + (term->nrow - 1); |
113 | int sb_len = max (term->nrow - 1 - term->top_row, 1); |
113 | int sb_len = max (term->nrow - 1 - term->top_row, 1); |
|
|
114 | int n = min (min_height (), size ()); |
114 | |
115 | |
115 | top = beg + (sb_top * size ()) / sb_len; |
116 | top = beg + (sb_top * (size () - n)) / sb_len; |
116 | bot = top + ecb_div_ru ((sb_bot - sb_top) * size (), sb_len) + min_height (); |
117 | bot = top + ecb_div_ru ((sb_bot - sb_top) * (size () - n), sb_len) + n; |
117 | /* no change */ |
118 | /* no change */ |
118 | if (top == last_top |
119 | if (top == last_top |
119 | && bot == last_bot |
120 | && bot == last_bot |
120 | && (state == last_state |
121 | && (state == last_state |
121 | || !(state == SB_STATE_UP || state == SB_STATE_DOWN))) |
122 | || !(state == SB_STATE_UP || state == SB_STATE_DOWN))) |