Fix problem reported by Kornel in this thread:

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg193248.html
The static InsetLayout could be initialized before its members were, as
JMarc realized here:
		https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg193293.html
This commit is contained in:
Richard Heck 2016-03-27 16:54:46 -04:00
parent cfd2d808cc
commit 23f6c1c962
2 changed files with 7 additions and 6 deletions

View File

@ -129,9 +129,6 @@ string translateReadType(TextClass::ReadType rt)
docstring const TextClass::plain_layout_ = from_ascii(N_("Plain Layout"));
InsetLayout DocumentClass::plain_insetlayout_;
/////////////////////////////////////////////////////////////////////////
//
// TextClass
@ -1509,6 +1506,12 @@ InsetLayout const & DocumentClass::insetLayout(docstring const & name) const
n = n.substr(0, i);
}
// Layout "name" not found.
return plainInsetLayout();
}
InsetLayout const & DocumentClass::plainInsetLayout() {
static InsetLayout plain_insetlayout_;
return plain_insetlayout_;
}

View File

@ -402,7 +402,7 @@ public:
/// happen). -- Idea JMarc, comment MV
InsetLayout const & insetLayout(docstring const & name) const;
/// a plain inset layout for use as a default
static InsetLayout const & plainInsetLayout() { return plain_insetlayout_; }
static InsetLayout const & plainInsetLayout();
/// add a new layout \c name if it does not exist in layoutlist_
/// \return whether we had to add one.
bool addLayoutIfNeeded(docstring const & name) const;
@ -498,8 +498,6 @@ private:
friend DocumentClassPtr
getDocumentClass(LayoutFile const &, LayoutModuleList const &,
bool const clone);
///
static InsetLayout plain_insetlayout_;
};