commit 5f20d05b1b6335f731c1fc3fb9a87f70b698acbf
Author: Juergen Spitzmueller <[email protected]>
Date: Tue May 12 15:47:38 2015 +0200
Fix left margin with some nested layouts (#9538)
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index a347b99..da9e404 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1610,12 +1610,16 @@ int TextMetrics::leftMargin(int max_width,
l_margin += theFontMetrics(buffer.params().getFont()).signedWidth(
tclass.leftmargin());
- if (par.getDepth() != 0) {
+ int depth = par.getDepth();
+ if (depth != 0) {
// find the next level paragraph
pit_type newpar = text_->outerHook(pit);
if (newpar != pit_type(pars.size())) {
if (pars[newpar].layout().isEnvironment()) {
- l_margin = leftMargin(max_width, newpar);
+ int nestmargin = depth * nestMargin();
+ if (text_->isMainText())
+ nestmargin += changebarMargin();
+ l_margin = max(leftMargin(max_width, newpar),
nestmargin);
// Remove the parindent that has been added
// if the paragraph was empty.
if (pars[newpar].empty() &&