Fix bug 2978 (inset-dissolve does not reset latex language)

* src/text.C
	(LyXText::dissolveInset): Reset language to buffer language if the
	dissolved inset is an ERT inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15888 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Georg Baum 2006-11-12 16:11:51 +00:00
parent 0049b4d3e4
commit 92d47b0246

View File

@ -1793,6 +1793,7 @@ bool LyXText::dissolveInset(LCursor & cur) {
if (isMainText(*cur.bv().buffer()) || cur.inset().nargs() != 1)
return false;
bool const in_ert = cur.inset().lyxCode() == InsetBase::ERT_CODE;
recordUndoInset(cur);
cur.selHandle(false);
// save position
@ -1810,6 +1811,19 @@ bool LyXText::dissolveInset(LCursor & cur) {
// FIXME: change tracking (MG)
cur.paragraph().eraseChar(cur.pos(), b.params().trackChanges);
if (!plist.empty()) {
if (in_ert) {
// ERT paragraphs have the Language latex_language.
// This is invalid outside of ERT, so we need to
// change it to the buffer language.
ParagraphList::iterator it = plist.begin();
ParagraphList::iterator it_end = plist.end();
for (; it != it_end; it++) {
it->changeLanguage(b.params(),
latex_language,
b.getLanguage());
}
}
pasteParagraphList(cur, plist, b.params().textclass,
b.errorList("Paste"));
// restore position