]> git.lyx.org Git - lyx.git/blobdiff - src/text3.C
fix crash when collapsing ert with cursor inside
[lyx.git] / src / text3.C
index a770c0fb505b13817e15d712d16213135b9941c6..1f706305193f81c68058b2f9a2b366e563609f65 100644 (file)
@@ -1113,9 +1113,12 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
 
                cur.clearSelection();
                LyXFont const old_font = real_current_font;
-               
+
                // Prevents language turds in new lyxtexts under non-english
-               setCurrentFont(cur);
+               BufferParams const & bufparams = cur.buffer().params();
+               Language const * lang = cur.paragraph().getParLanguage(bufparams);
+               current_font.setLanguage(lang);
+               real_current_font.setLanguage(lang);
 
                string::const_iterator cit = cmd.argument.begin();
                string::const_iterator end = cmd.argument.end();
@@ -1188,7 +1191,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
                break;
 
        case LFUN_INSET_FLOAT:
-       case LFUN_INSET_WIDE_FLOAT: 
+       case LFUN_INSET_WIDE_FLOAT:
        case LFUN_INSET_WRAP:
                doInsertInset(cur, this, cmd, true, true);
                cur.posRight();
@@ -1550,7 +1553,7 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd,
 
        case LFUN_APPENDIX:
                flag.setOnOff(cur.paragraph().params().startOfAppendix());
-               break;
+               return true;
 
 #if 0
        // the functions which insert insets
@@ -1737,27 +1740,27 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd,
 
        case LFUN_EMPH:
                flag.setOnOff(font.emph() == LyXFont::ON);
-               break;
+               return true;
 
        case LFUN_NOUN:
                flag.setOnOff(font.noun() == LyXFont::ON);
-               break;
+               return true;
 
        case LFUN_BOLD:
                flag.setOnOff(font.series() == LyXFont::BOLD_SERIES);
-               break;
+               return true;
 
        case LFUN_SANS:
                flag.setOnOff(font.family() == LyXFont::SANS_FAMILY);
-               break;
+               return true;
 
        case LFUN_ROMAN:
                flag.setOnOff(font.family() == LyXFont::ROMAN_FAMILY);
-               break;
+               return true;
 
        case LFUN_CODE:
                flag.setOnOff(font.family() == LyXFont::TYPEWRITER_FAMILY);
-               break;
+               return true;
 
        case LFUN_DELETE_WORD_FORWARD:
        case LFUN_DELETE_WORD_BACKWARD: