]> git.lyx.org Git - lyx.git/blobdiff - src/output_linuxdoc.C
fix reading the author field.
[lyx.git] / src / output_linuxdoc.C
index 7ce1e932bcbd5b3f601d013e7a00659082907bb5..060593c0e506b756fa8f6facc38ced0628852d64 100644 (file)
 #include "bufferparams.h"
 #include "paragraph.h"
 #include "paragraph_funcs.h"
+#include "ParagraphList_fwd.h"
 #include "ParagraphParameters.h"
 #include "sgml.h"
 
 #include <stack>
 
-#ifdef HAVE_LOCALE
-#endif
-
 using std::ostream;
 using std::stack;
 using std::vector;
@@ -35,18 +33,18 @@ void linuxdocParagraphs(Buffer const & buf,
                        ostream & os,
                        OutputParams const & runparams)
 {
-       
+
        Paragraph::depth_type depth = 0; // paragraph depth
        string item_name;
        vector<string> environment_stack(5);
 
-       ParagraphList::iterator pit = const_cast<ParagraphList&>(paragraphs).begin();
-       ParagraphList::iterator pend = const_cast<ParagraphList&>(paragraphs).end();
+       ParagraphList::const_iterator pit = paragraphs.begin();
+       ParagraphList::const_iterator pend = paragraphs.end();
        for (; pit != pend; ++pit) {
                LyXLayout_ptr const & style = pit->layout();
                // treat <toc> as a special case for compatibility with old code
-               if (pit->isInset(0)) {
-                       InsetBase * inset = pit->getInset(0);
+               if (!pit->empty() && pit->isInset(0)) {
+                       InsetBase const * inset = pit->getInset(0);
                        if (inset->lyxCode() == InsetOld::TOC_CODE) {
                                string const temp = "toc";
                                sgml::openTag(os, depth, false, temp);
@@ -134,7 +132,8 @@ void linuxdocParagraphs(Buffer const & buf,
                        break;
                }
 
-               pit->simpleLinuxDocOnePar(buf, os, outerFont(pit, paragraphs),
+               pit->simpleLinuxDocOnePar(buf, os,
+                       outerFont(pit - paragraphs.begin(), paragraphs),
                                          runparams, depth);
 
                os << "\n";
@@ -158,5 +157,3 @@ void linuxdocParagraphs(Buffer const & buf,
        for (int i = depth; i >= 0; --i)
                sgml::closeTag(os, depth, false, environment_stack[i]);
 }
-
-