summaryrefslogtreecommitdiffstats
path: root/src/htmlgen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-11-27 20:41:30 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-11-27 20:42:43 (GMT)
commita292601d5d06cf5993247f2f7a6bc7306997da23 (patch)
treec79712972c87d360b0c19c526cc9db1498ee34ba /src/htmlgen.cpp
parent6de91dc5e32e6d97a557fe6910a6cbf1d453ad9c (diff)
downloadDoxygen-a292601d5d06cf5993247f2f7a6bc7306997da23.zip
Doxygen-a292601d5d06cf5993247f2f7a6bc7306997da23.tar.gz
Doxygen-a292601d5d06cf5993247f2f7a6bc7306997da23.tar.bz2
Issue #8206: Incorrect XHTML results
Changes: - Change TooltipManager back into a singleton - Give the OutputList object a unique output id - Increment the id at each startFile() atomically - Pass the id to the HTML code generator - Store tooltips per output id. - Keep track of tooltips that are already written for a given id - for output formats other than HTML the output id is 0 and tooltips are not collected and written
Diffstat (limited to 'src/htmlgen.cpp')
-rw-r--r--src/htmlgen.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index e1358a7..3a92020 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -1130,7 +1130,7 @@ void HtmlGenerator::writeFooterFile(QFile &file)
static std::mutex g_indexLock;
void HtmlGenerator::startFile(const char *name,const char *,
- const char *title)
+ const char *title,int id)
{
//printf("HtmlGenerator::startFile(%s)\n",name);
m_relPath = relativePathToRoot(name);
@@ -1138,6 +1138,7 @@ void HtmlGenerator::startFile(const char *name,const char *,
m_lastTitle=title;
startPlainFile(fileName);
+ m_codeGen.setId(id);
m_codeGen.setTextStream(t);
m_codeGen.setRelativePath(m_relPath);
{
@@ -2238,8 +2239,9 @@ void HtmlGenerator::endParamList()
t << "</dl>";
}
-void HtmlGenerator::writeDoc(DocNode *n,const Definition *ctx,const MemberDef *)
+void HtmlGenerator::writeDoc(DocNode *n,const Definition *ctx,const MemberDef *,int id)
{
+ m_codeGen.setId(id);
HtmlDocVisitor *visitor = new HtmlDocVisitor(t,m_codeGen,ctx);
n->accept(visitor);
delete visitor;