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

(cherry picked from commit 23f6c1c962)

Conflicts:
	src/TextClass.cpp
This commit is contained in:
Richard Heck 2016-03-27 16:54:46 -04:00
parent 51c2d11335
commit 7b896e0db8
3 changed files with 10 additions and 6 deletions

View File

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

View File

@ -396,7 +396,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;
@ -493,8 +493,6 @@ private:
friend DocumentClassPtr
getDocumentClass(LayoutFile const &, LayoutModuleList const &,
bool const clone);
///
static InsetLayout plain_insetlayout_;
};

View File

@ -152,6 +152,8 @@ What's new
- Fix a crash when introducing a new shortcut (bug 9869).
- Fix initialization oblem with default Inset Layout.
* INTERNALS