aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp')
-rw-r--r--sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp30
1 files changed, 20 insertions, 10 deletions
diff --git a/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp b/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp
index dba24f2fe..ce0f794b0 100644
--- a/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp
+++ b/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp
@@ -625,12 +625,16 @@ void QtXmlToSphinx::handleItalicTag(QXmlStreamReader& reader)
{
switch (reader.tokenType()) {
case QXmlStreamReader::StartElement:
- m_insideItalic = true;
- m_output << rstItalic;
+ if (m_formattingDepth++ == 0) {
+ m_insideItalic = true;
+ m_output << rstItalic;
+ }
break;
case QXmlStreamReader::EndElement:
- m_insideItalic = false;
- m_output << rstItalicOff;
+ if (--m_formattingDepth == 0) {
+ m_insideItalic = false;
+ m_output << rstItalicOff;
+ }
break;
case QXmlStreamReader::Characters:
m_output << escape(reader.text().trimmed());
@@ -644,12 +648,16 @@ void QtXmlToSphinx::handleBoldTag(QXmlStreamReader& reader)
{
switch (reader.tokenType()) {
case QXmlStreamReader::StartElement:
- m_insideBold = true;
- m_output << rstBold;
+ if (m_formattingDepth++ == 0) {
+ m_insideBold = true;
+ m_output << rstBold;
+ }
break;
case QXmlStreamReader::EndElement:
- m_insideBold = false;
- m_output << rstBoldOff;
+ if (--m_formattingDepth == 0) {
+ m_insideBold = false;
+ m_output << rstBoldOff;
+ }
break;
case QXmlStreamReader::Characters:
m_output << escape(reader.text().trimmed());
@@ -663,10 +671,12 @@ void QtXmlToSphinx::handleArgumentTag(QXmlStreamReader& reader)
{
switch (reader.tokenType()) {
case QXmlStreamReader::StartElement:
- m_output << rstCode;
+ if (m_formattingDepth++ == 0)
+ m_output << rstCode;
break;
case QXmlStreamReader::EndElement:
- m_output << rstCodeOff;
+ if (--m_formattingDepth == 0)
+ m_output << rstCodeOff;
break;
case QXmlStreamReader::Characters:
m_output << reader.text().trimmed();