]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
These are in lib/symbols, so should have been caught by the first test:
[lyx.git] / src / Cursor.cpp
index 349725c579ef0cd184123e63e589c9a4c17502ca..a2fb6b9420b80f636837b6474299b87d0cc80229 100644 (file)
@@ -254,8 +254,8 @@ bool bruteFind3(Cursor & cur, int x, int y, bool up)
 Cursor::Cursor(BufferView & bv)
        : DocIterator(&bv.buffer()), bv_(&bv), anchor_(),
          x_target_(-1), textTargetOffset_(0),
-         selection_(false), mark_(false), logicalpos_(false),
-         current_font(inherit_font)
+         selection_(false), mark_(false), word_selection_(false),
+         logicalpos_(false), current_font(inherit_font)
 {}
 
 
@@ -1059,6 +1059,7 @@ void Cursor::setSelection(DocIterator const & where, int n)
 void Cursor::clearSelection()
 {
        setSelection(false);
+       setWordSelection(false);
        setMark(false);
        resetAnchor();
 }
@@ -1299,11 +1300,11 @@ void Cursor::insert(Inset * inset0)
 }
 
 
-void Cursor::niceInsert(docstring const & t, Parse::flags f)
+void Cursor::niceInsert(docstring const & t, Parse::flags f, bool enter)
 {
        MathData ar(buffer());
        asArray(t, ar, f);
-       if (ar.size() == 1)
+       if (ar.size() == 1 && (enter || selection()))
                niceInsert(ar[0]);
        else
                insert(ar);
@@ -1315,7 +1316,7 @@ void Cursor::niceInsert(MathAtom const & t)
        macroModeClose();
        docstring const safe = cap::grabAndEraseSelection(*this);
        plainInsert(t);
-       // enter the new inset and move the contents of the selection if possible
+       // If possible, enter the new inset and move the contents of the selection
        if (t->isActive()) {
                posBackward();
                // be careful here: don't use 'pushBackward(t)' as this we need to