commit 935646bf9169b4b93a43c572f0cb9d18e8ebfc55
Author: Richard Heck <[email protected]>
Date:   Sat Jan 3 11:33:11 2015 -0500

    Cleanup of outliner moving code.

diff --git a/src/Text3.cpp b/src/Text3.cpp
index 2092ac6..4c99c15 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -345,8 +345,6 @@ static void outline(OutlineOp mode, Cursor & cur)
        ParagraphList::iterator finish = start;
        ParagraphList::iterator const end = pars.end();
 
-       DocumentClass const & tc = buf.params().documentClass();
-
        int const thistoclevel = buf.text().getTocLevel(distance(bgn, start));
        int toclevel;
 
@@ -417,12 +415,17 @@ static void outline(OutlineOp mode, Cursor & cur)
                                toclevel = buf.text().getTocLevel(distance(bgn, 
start));
                                if (toclevel == Layout::NOT_IN_TOC)
                                        continue;
+
+                               DocumentClass const & tc = 
buf.params().documentClass();
                                DocumentClass::const_iterator lit = tc.begin();
                                DocumentClass::const_iterator len = tc.end();
+                               int const newtoclevel = 
+                                       (mode == OutlineIn ? toclevel + 1 : 
toclevel - 1);
+                               LabelType const oldlabeltype = 
start->layout().labeltype;
+
                                for (; lit != len; ++lit) {
-                                       if (lit->toclevel == (mode == OutlineIn 
?
-                                                             toclevel + 1 : 
toclevel - 1) &&
-                                           start->layout().labeltype == 
lit->labeltype) {
+                                       if (lit->toclevel ==  newtoclevel &&
+                                            lit->labeltype == oldlabeltype) {
                                                start->setLayout(*lit);
                                                break;
                                        }

Reply via email to