Author: baum
Date: Sun Dec  4 16:35:59 2011
New Revision: 40362
URL: http://www.lyx.org/trac/changeset/40362

Log:
fix preamble output in case child docs are present

Modified:
   lyx-devel/trunk/src/tex2lyx/Preamble.cpp
   lyx-devel/trunk/src/tex2lyx/Preamble.h
   lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp

Modified: lyx-devel/trunk/src/tex2lyx/Preamble.cpp
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/Preamble.cpp    Sun Dec  4 10:35:16 2011        
(r40361)
+++ lyx-devel/trunk/src/tex2lyx/Preamble.cpp    Sun Dec  4 16:35:59 2011        
(r40362)
@@ -815,7 +815,7 @@
 }
 
 
-bool Preamble::writeLyXHeader(ostream & os)
+bool Preamble::writeLyXHeader(ostream & os, bool subdoc)
 {
        // translate from babel to LyX names
        h_language = babel2lyx(h_language);
@@ -858,7 +858,7 @@
           << "\\begin_document\n"
           << "\\begin_header\n"
           << "\\textclass " << h_textclass << "\n";
-       string const raw = h_preamble.str();
+       string const raw = subdoc ? empty_string() : h_preamble.str();
        if (!raw.empty()) {
                os << "\\begin_preamble\n";
                for (string::size_type i = 0; i < raw.size(); ++i) {
@@ -977,8 +977,6 @@
           << authors_
           << "\\end_header\n\n"
           << "\\begin_body\n";
-       // clear preamble for subdocuments
-       h_preamble.str("");
        return true;
 }
 

Modified: lyx-devel/trunk/src/tex2lyx/Preamble.h
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/Preamble.h      Sun Dec  4 10:35:16 2011        
(r40361)
+++ lyx-devel/trunk/src/tex2lyx/Preamble.h      Sun Dec  4 16:35:59 2011        
(r40362)
@@ -65,7 +65,7 @@
        void parse(Parser & p, std::string const & forceclass,
                   TeX2LyXDocClass & tc);
        /// Writes the LyX file header from internal data
-       bool writeLyXHeader(std::ostream & os);
+       bool writeLyXHeader(std::ostream & os, bool subdoc);
 
 private:
        ///

Modified: lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp     Sun Dec  4 10:35:16 2011        
(r40361)
+++ lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp     Sun Dec  4 16:35:59 2011        
(r40362)
@@ -685,7 +685,7 @@
                for (; it != end; it++)
                        preamble.addModule(*it);
        }
-       if (!preamble.writeLyXHeader(os)) {
+       if (!preamble.writeLyXHeader(os, !active_environments.empty())) {
                cerr << "Could write LyX file header." << endl;
                return false;
        }

Reply via email to