]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
grammar
[lyx.git] / src / Text3.cpp
index 869e709635791ee5943f13903e6f7e717804d472..9b66997397a1d088607a9563e9de196f568bdb75 100644 (file)
@@ -1672,7 +1672,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        while (cur.pit() + offset <= cur.lastpit()) {
                                Paragraph cpar = pars_[cur.pit() + offset];
                                depth_type nextpar_depth = cpar.params().depth();
-                               if (cur_depth <= nextpar_depth) {
+                               if (cur_depth <= nextpar_depth && nextpar_depth > 0) {
                                        nextpars_depth.push_back(nextpar_depth);
                                        cur_depth = nextpar_depth;
                                        ++offset;
@@ -1857,7 +1857,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        // Don't do anything if we right-click a
                        // selection, a context menu will popup.
                        if (bvcur.selection() && cur >= bvcur.selectionBegin()
-                           && cur < bvcur.selectionEnd()) {
+                           && cur <= bvcur.selectionEnd()) {
                                cur.noScreenUpdate();
                                return;
                        }
@@ -2082,15 +2082,12 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                // inside it.
                doInsertInset(cur, this, cmd, true, true);
                cur.posForward();
-               if (act == LFUN_SCRIPT_INSERT) {
-                       /* Script insets change the font style in metrics(), and
-                        * this is used to compute the height of the caret
-                        * (because the font is stored in TextMetrics::font_).
-                        * When we insert, we have to make sure that metrics are
-                        * computed so that the caret height is wrong. Arguably,
-                        * this is hackish.*/
-                       bv->processUpdateFlags(Update::SinglePar);
-               }
+               /* The font of the inset is computed in metrics(), and this is
+                * used to compute the height of the caret (because the font
+                * is stored in TextMetrics::font_). When we insert, we have
+                * to make sure that metrics are computed so that the caret
+                * height is correct. Arguably, this is hackish.*/
+               bv->processUpdateFlags(Update::SinglePar);
                cur.setCurrentFont();
                // Some insets are numbered, others are shown in the outline pane so
                // let's update the labels and the toc backend.