diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2017-12-31 12:09:54 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2017-12-31 12:09:54 (GMT) |
commit | 8afcb87097c92fd124282a998dad61ea2b16c7ec (patch) | |
tree | d36713cac2c4f23862f7ff8012e7d99f21e6a8ae /src | |
parent | 232c85c6c58a02c3216e1f5af3728d3d2db908c2 (diff) | |
download | Doxygen-8afcb87097c92fd124282a998dad61ea2b16c7ec.zip Doxygen-8afcb87097c92fd124282a998dad61ea2b16c7ec.tar.gz Doxygen-8afcb87097c92fd124282a998dad61ea2b16c7ec.tar.bz2 |
Bug 783134 - LaTeX output for \tparam block fails to compile when it contains a \code block
Diffstat (limited to 'src')
-rw-r--r-- | src/latexdocvisitor.cpp | 5 | ||||
-rw-r--r-- | src/latexdocvisitor.h | 2 | ||||
-rw-r--r-- | src/latexgen.cpp | 10 | ||||
-rw-r--r-- | src/util.cpp | 24 | ||||
-rw-r--r-- | src/util.h | 4 |
5 files changed, 33 insertions, 12 deletions
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp index 9bddf36..5a67c15 100644 --- a/src/latexdocvisitor.cpp +++ b/src/latexdocvisitor.cpp @@ -35,7 +35,6 @@ #include "plantuml.h" const int maxLevels=5; -int usedTableLevels = 0; static const char *secLabels[maxLevels] = { "section","subsection","subsubsection","paragraph","subparagraph" }; @@ -1392,7 +1391,7 @@ void LatexDocVisitor::visitPre(DocParamSect *s) if (m_hide) return; bool hasInOutSpecs = s->hasInOutSpecifier(); bool hasTypeSpecs = s->hasTypeSpecifier(); - usedTableLevels++; + incUsedTableLevels(); switch(s->type()) { case DocParamSect::Param: @@ -1426,7 +1425,7 @@ void LatexDocVisitor::visitPre(DocParamSect *s) void LatexDocVisitor::visitPost(DocParamSect *s) { if (m_hide) return; - usedTableLevels--; + decUsedTableLevels(); switch(s->type()) { case DocParamSect::Param: diff --git a/src/latexdocvisitor.h b/src/latexdocvisitor.h index bd89f03..881863a 100644 --- a/src/latexdocvisitor.h +++ b/src/latexdocvisitor.h @@ -23,8 +23,6 @@ #include <qstack.h> #include <qcstring.h> #include <qlist.h> -//#include <qmap.h> -extern int usedTableLevels; class FTextStream; class CodeOutputInterface; diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 6e52a84..1511dcb 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -92,7 +92,7 @@ void LatexCodeGenerator::codify(const char *str) m_col+=spacesToNextTabStop; p++; break; - case '\n': (usedTableLevels>0) ? m_t << "\\newline\n" : m_t << '\n'; m_col=0; p++; + case '\n': (usedTableLevels()>0) ? m_t << "\\newline\n" : m_t << '\n'; m_col=0; p++; break; default: i=0; @@ -1849,13 +1849,13 @@ void LatexGenerator::writeNonBreakableSpace(int) void LatexGenerator::startDescTable(const char *title) { - usedTableLevels++; + incUsedTableLevels(); t << "\\begin{DoxyEnumFields}{" << title << "}" << endl; } void LatexGenerator::endDescTable() { - usedTableLevels--; + decUsedTableLevels(); t << "\\end{DoxyEnumFields}" << endl; } @@ -2198,7 +2198,7 @@ void LatexGenerator::lineBreak(const char *) void LatexGenerator::startMemberDocSimple(bool isEnum) { - usedTableLevels++; + incUsedTableLevels(); if (isEnum) { t << "\\begin{DoxyEnumFields}{"; @@ -2214,7 +2214,7 @@ void LatexGenerator::startMemberDocSimple(bool isEnum) void LatexGenerator::endMemberDocSimple(bool isEnum) { - usedTableLevels--; + decUsedTableLevels(); if (isEnum) { t << "\\end{DoxyEnumFields}" << endl; diff --git a/src/util.cpp b/src/util.cpp index ab7079e..8e936b5 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6730,8 +6730,8 @@ void filterLatexString(FTextStream &t,const char *str, case '%': t << "\\%"; break; case '#': t << "\\#"; break; case '$': t << "\\$"; break; - case '^': (usedTableLevels>0) ? t << "\\string^" : t << (char)c; break; - case '~': (usedTableLevels>0) ? t << "\\string~" : t << (char)c; break; + case '^': (usedTableLevels()>0) ? t << "\\string^" : t << (char)c; break; + case '~': (usedTableLevels()>0) ? t << "\\string~" : t << (char)c; break; case ' ': if (keepSpaces) t << "~"; else t << ' '; break; default: @@ -8830,3 +8830,23 @@ void writeExtraLatexPackages(FTextStream &t) } } +//------------------------------------------------------ + +static int g_usedTableLevels = 0; + +void incUsedTableLevels() +{ + g_usedTableLevels++; +} +void decUsedTableLevels() +{ + g_usedTableLevels--; +} +int usedTableLevels() +{ + return g_usedTableLevels; +} + +//------------------------------------------------------ + + @@ -478,5 +478,9 @@ bool mainPageHasTitle(); bool openOutputFile(const char *outFile,QFile &f); void writeExtraLatexPackages(FTextStream &t); +int usedTableLevels(); +void incUsedTableLevels(); +void decUsedTableLevels(); + #endif |