]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
Fix a crash when closing tabs
[lyx.git] / src / Cursor.cpp
index 939b92bd983e314965e9e7a0f47adf71fee83f54..fae9d85c3f3c98bf743fc89592aa3e52b8fdf1eb 100644 (file)
@@ -1594,9 +1594,20 @@ bool Cursor::backspace(bool const force)
                        // [|], can not delete from inside
                        return false;
                } else {
-                       if (inMathed())
-                               pullArg();
-                       else
+                       if (inMathed()) {
+                               switch (inset().asInsetMath()->getType()) {
+                               case hullEqnArray:
+                               case hullAlign:
+                               case hullFlAlign: {
+                                       FuncRequest cmd(LFUN_CHAR_BACKWARD);
+                                       this->dispatch(cmd);
+                                       break;
+                               }
+                               default:
+                                       pullArg();
+                                       break;
+                               }
+                       } else
                                popBackward();
                        return true;
                }
@@ -2471,6 +2482,9 @@ void Cursor::setCurrentFont()
 
 void Cursor::checkBufferStructure()
 {
+       if (buffer()->isInternal())
+               return;
+
        Buffer const * master = buffer()->masterBuffer();
        master->tocBackend().updateItem(*this);
        if (master != buffer() && !master->hasGuiDelegate())