Fix another glitch with on-screen indentation.

If a new paragraph is created just before a nested environment,
the indentation of the nested environment is not computed
correctly because the parindent of the previous layout would
also be erroneously taken into account. This would cause the
nested environment to move back and forth when something is
added to the new paragraph.
This commit is contained in:
Enrico Forestieri 2014-05-22 23:47:38 +02:00
parent 85db1005b6
commit a596736d76

View File

@ -1896,6 +1896,13 @@ int TextMetrics::leftMargin(int max_width,
if (newpar != pit_type(pars.size())) {
if (pars[newpar].layout().isEnvironment()) {
l_margin = leftMargin(max_width, newpar);
// Remove the parindent that has been added
// if the paragraph was empty.
if (pars[newpar].empty()) {
docstring pi = pars[newpar].layout().parindent;
l_margin -= theFontMetrics(
buffer.params().getFont()).signedWidth(pi);
}
}
if (tclass.isDefaultLayout(par.layout())
|| tclass.isPlainLayout(par.layout())) {