mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +00:00
* LyXText::cursorNext(): Fix crash with PageDown when the next paragraph is a math inset bigger than the screen.
* LyXText::cursorPrevious(): Implement the same check for safety reason. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16092 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
e24bf64c68
commit
a5df789cae
20
src/text3.C
20
src/text3.C
@ -207,12 +207,18 @@ void LyXText::cursorPrevious(LCursor & cur)
|
||||
|
||||
// FIXME: there would maybe a need for this 'updated' boolean in the future...
|
||||
bool updated = setCursorFromCoordinates(cur, x, 0);
|
||||
updated |= cursorUp(cur);
|
||||
if (cur.inMathed())
|
||||
updated |= cur.up();
|
||||
else
|
||||
updated |= cursorUp(cur);
|
||||
|
||||
if (cpar == cur.pit() && cpos == cur.pos()) {
|
||||
// we have a row which is taller than the workarea. The
|
||||
// simplest solution is to move to the previous row instead.
|
||||
updated |= cursorUp(cur);
|
||||
if (cur.inMathed())
|
||||
updated |= cur.up();
|
||||
else
|
||||
updated |= cursorUp(cur);
|
||||
}
|
||||
|
||||
finishUndo();
|
||||
@ -228,12 +234,18 @@ void LyXText::cursorNext(LCursor & cur)
|
||||
int x = cur.x_target();
|
||||
// FIXME: there would maybe a need for this 'updated' boolean in the future...
|
||||
bool updated = setCursorFromCoordinates(cur, x, cur.bv().workHeight() - 1);
|
||||
updated |= cursorDown(cur);
|
||||
if (cur.inMathed())
|
||||
updated |= cur.down();
|
||||
else
|
||||
updated |= cursorDown(cur);
|
||||
|
||||
if (cpar == cur.pit() && cpos == cur.pos()) {
|
||||
// we have a row which is taller than the workarea. The
|
||||
// simplest solution is to move to the next row instead.
|
||||
updated |= cursorDown(cur);
|
||||
if (cur.inMathed())
|
||||
updated |= cur.down();
|
||||
else
|
||||
updated |= cursorDown(cur);
|
||||
}
|
||||
|
||||
finishUndo();
|
||||
|
Loading…
Reference in New Issue
Block a user