The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit f7548ae2cd1172a84b71a0190558e40722537e63
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Wed Jan 23 23:02:05 2013 +0100

    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 4aa3360..4342020 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -1809,7 +1809,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();
@@ -1825,7 +1825,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;

-----------------------------------------------------------------------

Summary of changes:
 src/BufferView.cpp |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to