From: Jean-Marc Lasgouttes Date: Wed, 23 Jan 2013 22:02:05 +0000 (+0100) Subject: Make sure that inset-forall does not skip insets X-Git-Tag: 2.0.6~111 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=720784b81189bf71ced4bf0f6f2a0998f63b5295;p=features.git Make sure that inset-forall does not skip insets This could happen with inset-forall Note:Note char-delete-forward when there where consecutive note insets. --- diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 057fe0bb32..d490fe756a 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1778,7 +1778,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) cur.forwardInset(); cur.beginUndoGroup(); while(cur && iterations < max_iter) { - Inset * ins = cur.nextInset(); + Inset * const ins = cur.nextInset(); if (!ins) break; docstring insname = ins->layoutName(); @@ -1794,7 +1794,9 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) break; insname = insname.substr(0, i); } - cur.forwardInset(); + // if we did not delete the inset, skip it + if (!cur.nextInset() || cur.nextInset() == ins) + cur.forwardInset(); } cur.endUndoGroup(); cur = savecur; diff --git a/status.20x b/status.20x index abf1cc737f..3cafc49cea 100644 --- a/status.20x +++ b/status.20x @@ -124,6 +124,8 @@ What's new - Do not crop wide characters in Symbols dialog (bug 5707). +- Make sure that inset-forall does not skip insets. + * DOCUMENTATION AND LOCALIZATION