mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +00:00
Some fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22251 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
51a365d784
commit
62799a6707
@ -680,7 +680,15 @@ void BufferView::showCursor()
|
|||||||
CursorSlice & bot = d->cursor_.bottom();
|
CursorSlice & bot = d->cursor_.bottom();
|
||||||
TextMetrics & tm = d->text_metrics_[bot.text()];
|
TextMetrics & tm = d->text_metrics_[bot.text()];
|
||||||
|
|
||||||
int const bot_pit = d->cursor_.bottom().pit();
|
pos_type const max_pit = pos_type(bot.text()->paragraphs().size() - 1);
|
||||||
|
int bot_pit = d->cursor_.bottom().pit();
|
||||||
|
if (bot_pit > max_pit) {
|
||||||
|
// FIXME: Why does this happen?
|
||||||
|
LYXERR0("bottom pit is greater that max pit: "
|
||||||
|
<< bot_pit << " > " << max_pit);
|
||||||
|
bot_pit = max_pit;
|
||||||
|
}
|
||||||
|
|
||||||
if (bot_pit == tm.first().first - 1)
|
if (bot_pit == tm.first().first - 1)
|
||||||
tm.newParMetricsUp();
|
tm.newParMetricsUp();
|
||||||
else if (bot_pit == tm.last().first + 1)
|
else if (bot_pit == tm.last().first + 1)
|
||||||
@ -708,12 +716,10 @@ void BufferView::showCursor()
|
|||||||
|
|
||||||
if (d->anchor_pit_ == 0)
|
if (d->anchor_pit_ == 0)
|
||||||
d->anchor_ypos_ = offset + pm.ascent();
|
d->anchor_ypos_ = offset + pm.ascent();
|
||||||
else if (d->anchor_pit_ >= pos_type(bot.text()->paragraphs().size() - 1)) {
|
else if (d->anchor_pit_ == max_pit)
|
||||||
d->anchor_pit_ = bot.text()->paragraphs().size() - 1;
|
|
||||||
d->anchor_ypos_ = height_ - offset - row_dim.descent();
|
d->anchor_ypos_ = height_ - offset - row_dim.descent();
|
||||||
} else {
|
else
|
||||||
d->anchor_ypos_ = offset + pm.ascent() - height_ / 2;
|
d->anchor_ypos_ = offset + pm.ascent() - height_ / 2;
|
||||||
}
|
|
||||||
|
|
||||||
updateMetrics();
|
updateMetrics();
|
||||||
buffer_.changed();
|
buffer_.changed();
|
||||||
@ -1680,7 +1686,7 @@ void BufferView::updateMetrics()
|
|||||||
int y2 = d->anchor_ypos_ + anchor_pm.descent();
|
int y2 = d->anchor_ypos_ + anchor_pm.descent();
|
||||||
// We are now just below the anchor paragraph.
|
// We are now just below the anchor paragraph.
|
||||||
pit_type pit2 = d->anchor_pit_ + 1;
|
pit_type pit2 = d->anchor_pit_ + 1;
|
||||||
for (; pit2 < npit && y2 < height_; ++pit2) {
|
for (; pit2 < npit && y2 <= height_; ++pit2) {
|
||||||
tm.redoParagraph(pit2);
|
tm.redoParagraph(pit2);
|
||||||
ParagraphMetrics & pm = tm.par_metrics_[pit2];
|
ParagraphMetrics & pm = tm.par_metrics_[pit2];
|
||||||
y2 += pm.ascent();
|
y2 += pm.ascent();
|
||||||
|
Loading…
Reference in New Issue
Block a user