if (yy + rit->height() > y)
break;
- if (assert_in_view && yy + rit->height() != y) {
- if (!up) {
+ if (assert_in_view) {
+ if (!up && yy + rit->height() > y) {
if (rit != pm.rows().begin()) {
y = yy;
--rit;
--rit;
y = yy;
}
- } else {
+ } else if (up && yy != y) {
if (rit != rlast) {
y = yy + rit->height();
++rit;
- } else if (pit != int(par_metrics_.size())) {
+ } else if (pit < int(text_->paragraphs().size()) - 1) {
++pit;
newParMetricsDown();
ParagraphMetrics const & pm2 = par_metrics_[pit];