]> git.lyx.org Git - features.git/commitdiff
Prevent crash when outputting latex file.
authorAngus Leeming <leeming@lyx.org>
Thu, 20 Jan 2005 11:44:20 +0000 (11:44 +0000)
committerAngus Leeming <leeming@lyx.org>
Thu, 20 Jan 2005 11:44:20 +0000 (11:44 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9506 a592a061-630c-0410-9148-cb99ea01b6c8

src/ChangeLog
src/output_latex.C

index 0dc5809cebff9e509ac6b6a8326604d12bf89aa5..aa9e3b45025ede15260ebb040b4e8f6b257e8eb2 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-20  Angus Leeming  <leeming@lyx.org>
+
+       * output_latex.C (TeXOnePar, TeXEnvironment): prevent crash when
+       printing diagnostic data by not dereferecing an iterator past the
+       end.
+
 2005-01-19  Asger Ottar Alstrup  <aalstrup@laerdal.dk>
 
        * buffer.C (readHeader): use "&&" rather than "and".
@@ -7,7 +13,7 @@
 2005-01-19  Angus Leeming  <leeming@lyx.org>
 
        * lyx_main.C (error_handler, init): protect SIGHUP with
-       #ifndef _WIN32 guards.
+       #ifdef SIGHUP guards.
 
 2005-01-19  Jean-Marc Lasgouttes  <lasgouttes@lyx.org>
 
index 3fb0fe5d3dc461d86f7f12aef525868941985033..d1ea46e50d197c2d368ad5c0364f2cc4de97ad5d 100644 (file)
@@ -190,8 +190,9 @@ TeXEnvironment(Buffer const & buf,
                texrow.newline();
        }
 
-       lyxerr[Debug::LATEX] << "TeXEnvironment...done " << &*par << endl;
-       return par;  // ale970302
+       if (par != paragraphs.end() && lyxerr.debugging(Debug::LATEX))
+               lyxerr << "TeXEnvironment...done " << &*par << endl;
+       return par;
 }
 
 
@@ -416,7 +417,7 @@ paragraphs);
                }
        }
 
-       if (boost::next(pit) == const_cast<ParagraphList&>(paragraphs).end()
+       if (boost::next(pit) == paragraphs.end()
            && language->babel() != doc_language->babel()) {
                // Since \selectlanguage write the language to the aux file,
                // we need to reset the language at the end of footnote or
@@ -443,7 +444,9 @@ paragraphs);
                texrow.newline();
        }
 
-       lyxerr[Debug::LATEX] << "TeXOnePar...done " << &*boost::next(pit) << endl;
+       if (boost::next(pit) != paragraphs.end() &&
+           lyxerr.debugging(Debug::LATEX))
+               lyxerr << "TeXOnePar...done " << &*boost::next(pit) << endl;
        return ++pit;
 }