Shrinking and then enlarging an Entry caused first_row to first be set to
the edit position, but would never be reset to zero due to the check in
slider_value_changed. Yet the visual result was correct thanks to Text
clamping first_row independently.
else if(row>=first_row+visible_rows)
first_row = row+1-visible_rows;
+ unsigned scroll = max(text.get_n_lines(), visible_rows)-visible_rows;
+ if(first_row>scroll)
+ first_row = scroll;
+
if(first_row!=old_first_row)
signal_scroll_position_changed.emit(first_row);
- unsigned scroll = max(text.get_n_lines(), visible_rows)-visible_rows;
slider->set_range(0, scroll);
slider->set_value(scroll-first_row);
}