From 2078e09e67ece00640277eb93b87e378904244f7 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Tue, 7 Oct 2008 15:53:05 +0000 Subject: [PATCH] The default modules should be kept in order. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26801 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BufferParams.cpp | 6 +++--- src/LayoutFile.h | 2 +- src/TextClass.cpp | 3 ++- src/TextClass.h | 2 +- src/frontends/qt4/GuiDocument.cpp | 6 +++--- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index dfeed2c9fa..438d606067 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1483,9 +1483,9 @@ bool BufferParams::setBaseClass(string const & classname) pimpl_->baseClass_ = classname; // add any required modules not already in use - set const & mods = baseClass()->defaultModules(); - set::const_iterator mit = mods.begin(); - set::const_iterator men = mods.end(); + list const & mods = baseClass()->defaultModules(); + list::const_iterator mit = mods.begin(); + list::const_iterator men = mods.end(); for (; mit != men; mit++) { string const & modName = *mit; // see if we're already in use diff --git a/src/LayoutFile.h b/src/LayoutFile.h index 04c4a38228..8d17a1c355 100644 --- a/src/LayoutFile.h +++ b/src/LayoutFile.h @@ -64,7 +64,7 @@ public: /// check whether the TeX class is available bool isTeXClassAvailable() const { return texClassAvail_; } /// - std::set const & defaultModules() const { return usemod_; } + std::list const & defaultModules() const { return usemod_; } private: /// Construct a layout with default values. Actual values loaded later. explicit LayoutFile(std::string const & filename, diff --git a/src/TextClass.cpp b/src/TextClass.cpp index 63719188f2..c6e759dcf0 100644 --- a/src/TextClass.cpp +++ b/src/TextClass.cpp @@ -492,7 +492,8 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt) case TC_USEMODULE: { lexrc.next(); string const module = lexrc.getString(); - usemod_.insert(module); + if (find(usemod_.begin(), usemod_.end(), module) == usemod_.end()) + usemod_.push_back(module); break; } diff --git a/src/TextClass.h b/src/TextClass.h index fd2b50bb9f..b9d88dbf22 100644 --- a/src/TextClass.h +++ b/src/TextClass.h @@ -252,7 +252,7 @@ protected: /// latex packages requested by document class. std::set requires_; /// modules wanted by document class - std::set usemod_; + std::list usemod_; /// unsigned int columns_; /// diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index ed6d550dfa..6a9cdf79e4 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -1594,9 +1594,9 @@ void GuiDocument::apply(BufferParams & params) params.addLayoutModule(modules_sel_model_.getIDString(i)); // update the list of removed modules params.clearRemovedModules(); - set const & reqmods = params.baseClass()->defaultModules(); - set::const_iterator rit = reqmods.begin(); - set::const_iterator ren = reqmods.end(); + list const & reqmods = params.baseClass()->defaultModules(); + list::const_iterator rit = reqmods.begin(); + list::const_iterator ren = reqmods.end(); // check each of the required modules for (; rit != ren; rit++) { vector::const_iterator mit = params.getModules().begin(); -- 2.39.5