summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2017-12-31 12:09:54 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2017-12-31 12:09:54 (GMT)
commit8afcb87097c92fd124282a998dad61ea2b16c7ec (patch)
treed36713cac2c4f23862f7ff8012e7d99f21e6a8ae /src
parent232c85c6c58a02c3216e1f5af3728d3d2db908c2 (diff)
downloadDoxygen-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.cpp5
-rw-r--r--src/latexdocvisitor.h2
-rw-r--r--src/latexgen.cpp10
-rw-r--r--src/util.cpp24
-rw-r--r--src/util.h4
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;
+}
+
+//------------------------------------------------------
+
+
diff --git a/src/util.h b/src/util.h
index 322ba7e..7cbe5e3 100644
--- a/src/util.h
+++ b/src/util.h
@@ -478,5 +478,9 @@ bool mainPageHasTitle();
bool openOutputFile(const char *outFile,QFile &f);
void writeExtraLatexPackages(FTextStream &t);
+int usedTableLevels();
+void incUsedTableLevels();
+void decUsedTableLevels();
+
#endif