branch: Fix bug #6320: LyX goes to infinite loop when selecting document parts.

Set the boundary member correctly when the cursor goes to an 'empty' row.

No status.16x entry needed as this was introduced by r31880.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32111 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2009-11-19 23:12:15 +00:00
parent 5e0d1703c6
commit 594f47b4b7

View File

@ -1894,8 +1894,15 @@ bool Cursor::upDownInText(bool up, bool & updateNeeded)
if (update) { if (update) {
top().pos() = min(tm.x2pos(pit(), next_row, xo), top().lastpos()); top().pos() = min(tm.x2pos(pit(), next_row, xo), top().lastpos());
boundary(tm.x2pos(pit(), next_row, xo) int const xpos = tm.x2pos(pit(), next_row, xo);
== tm.x2pos(pit(), next_row, tm.width())); bool const at_end_row = xpos == tm.x2pos(pit(), next_row, tm.width());
bool const at_beg_row = xpos == tm.x2pos(pit(), next_row, 0);
if (at_end_row && at_beg_row)
// make sure the cursor ends up on this row
boundary(false);
else
boundary(at_end_row);
} }
updateNeeded |= bv().checkDepm(*this, old); updateNeeded |= bv().checkDepm(*this, old);
} }