]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
Make sure a pointer is valid before using it
[lyx.git] / src / Cursor.cpp
index 6f1a1949d173eee182953707150093a8bfd09142..b3c1edd7a4aa6476d1786ccd0c56aa9b4405199a 100644 (file)
@@ -1449,14 +1449,16 @@ bool Cursor::macroModeClose()
        else if (atom.nucleus()->nargs() > 0)
                atom.nucleus()->cell(0).append(selection);
 
-       if (in->currentMode() == Inset::TEXT_MODE
-           && atom.nucleus()->currentMode() == Inset::MATH_MODE) {
+       if (in && in->currentMode() == Inset::TEXT_MODE
+           && atom.nucleus()->currentMode() == Inset::MATH_MODE
+           && name != from_ascii("ensuremath")) {
                MathAtom at(new InsetMathEnsureMath(buffer()));
                at.nucleus()->cell(0).push_back(atom);
                niceInsert(at);
                posForward();
-       } else if (in->currentMode() == Inset::MATH_MODE
-                  && atom.nucleus()->currentMode() == Inset::TEXT_MODE) {
+       } else if (in && in->currentMode() == Inset::MATH_MODE
+                  && atom.nucleus()->currentMode() == Inset::TEXT_MODE
+                  && name != from_ascii("text")) {
                MathAtom at = createInsetMath("text", buffer());
                at.nucleus()->cell(0).push_back(atom);
                niceInsert(at);