]> git.lyx.org Git - lyx.git/blobdiff - src/text2.C
Fixed cut&paste bugs and added freespacing for ERT Insets.
[lyx.git] / src / text2.C
index abde4bd529207e3c2cd400747384331c7b8eab12..0c092dff9a053ace05a83a13e0f4d6d0990dc799 100644 (file)
@@ -391,6 +391,7 @@ void LyXText::removeRow(Row * row) const
                row->next()->previous(row->previous());
        if (!row->previous()) {
                firstrow = row->next();
+//             lyx::Assert(firstrow);
        } else  {
                row->previous()->next(row->next());
        }
@@ -2366,13 +2367,20 @@ void LyXText::fixCursorAfterDelete(BufferView * bview,
 void LyXText::deleteEmptyParagraphMechanism(BufferView * bview,
                                            LyXCursor const & old_cursor) const
 {
+       // don't delete anything if this is the ONLY paragraph!
+       if (!old_cursor.par()->next() && !old_cursor.par()->previous())
+               return;
+       
        // Would be wrong to delete anything if we have a selection.
        if (selection.set()) return;
 
        // We allow all kinds of "mumbo-jumbo" when freespacing.
        if (textclasslist.Style(bview->buffer()->params.textclass,
-                               old_cursor.par()->getLayout()).free_spacing)
+                                                       old_cursor.par()->getLayout()).free_spacing ||
+               old_cursor.par()->isFreeSpacing())
+       {
                return;
+       }
 
        bool deleted = false;