Avoid infinite loop

Fixes: #11295
This commit is contained in:
Juergen Spitzmueller 2018-09-19 10:19:19 +02:00
parent 82516e356b
commit 92bfa07a62
2 changed files with 7 additions and 2 deletions

View File

@ -1517,7 +1517,7 @@ void LyXAction::init()
* \li Params: outer: If this is given, LyX will split the outermost environment in
the current nesting hierarchy.\n
previous: If this is given, LyX will split the environment in the previous
paragraph (is there is one).\n
paragraph (if there is one).\n
before: If this is given, the new environment will be appended rather than
prepended.
* \li Origin: spitz, 23 Dec 2012

View File

@ -1663,8 +1663,13 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
DocIterator scur = cur;
depth_type const max_depth = cur.paragraph().params().depth() + 1;
cur.forwardPar();
while (cur.paragraph().params().depth() < min(nextpar_depth, max_depth))
while (cur.paragraph().params().depth() < min(nextpar_depth, max_depth)) {
depth_type const olddepth = cur.paragraph().params().depth();
lyx::dispatch(FuncRequest(LFUN_DEPTH_INCREMENT));
if (olddepth == cur.paragraph().params().depth())
// leave loop if no incrementation happens
break;
}
cur.setCursor(scur);
}