diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-27 20:41:30 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-27 20:42:43 (GMT) |
commit | a292601d5d06cf5993247f2f7a6bc7306997da23 (patch) | |
tree | c79712972c87d360b0c19c526cc9db1498ee34ba /src/htmlgen.cpp | |
parent | 6de91dc5e32e6d97a557fe6910a6cbf1d453ad9c (diff) | |
download | Doxygen-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.cpp | 6 |
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; |