From c2be69187ce23951506b097f1465b08f98f79ef1 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier Date: Mon, 3 Aug 2020 22:56:16 +0200 Subject: [PATCH] Revert "DocBook: eat a bit of that spaghetti code." This reverts commit 25bcbe766601b7bbc5b9832858ab8e5874f5d2a2. --- src/output_docbook.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp index d0536eee3a..339f1c36a8 100644 --- a/src/output_docbook.cpp +++ b/src/output_docbook.cpp @@ -202,10 +202,14 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar // first paragraph of an author, then merging with the previous tag does not make sense. Say the // next paragraph is the affiliation, then it should be output in the same tag (different // layout, same wrapper tag). - bool openWrapper = lay.docbookwrappertag() != "NONE"; - if (prevpar != nullptr) { + bool openWrapper = false; + if (prevpar == nullptr) { + openWrapper = lay.docbookwrappertag() != "NONE"; + } else { Layout const & prevlay = prevpar->layout(); - if (prevlay.docbookwrappertag() != "NONE") { + if (prevlay.docbookwrappertag() == "NONE") { + openWrapper = lay.docbookwrappertag() != "NONE"; + } else { openWrapper = prevlay.docbookwrappertag() == lay.docbookwrappertag() && !lay.docbookwrappermergewithprevious(); } @@ -234,10 +238,14 @@ void closeTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpar) nextpar = nullptr; // See comment in openParTag. - bool closeWrapper = lay.docbookwrappertag() != "NONE"; - if (nextpar != nullptr) { + bool closeWrapper = false; + if (nextpar == nullptr) { + closeWrapper = lay.docbookwrappertag() != "NONE"; + } else { Layout const & nextlay = nextpar->layout(); - if (nextlay.docbookwrappertag() != "NONE") { + if (nextlay.docbookwrappertag() == "NONE") { + closeWrapper = lay.docbookwrappertag() != "NONE"; + } else { closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag() && !nextlay.docbookwrappermergewithprevious(); } -- 2.39.5