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/outputlist.h | |
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/outputlist.h')
-rw-r--r-- | src/outputlist.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/outputlist.h b/src/outputlist.h index 2d06598..7baef7a 100644 --- a/src/outputlist.h +++ b/src/outputlist.h @@ -49,6 +49,7 @@ class OutputList : public OutputDocInterface } size_t size() const { return m_outputs.size(); } + int id() const { return m_id; } void disableAllBut(OutputGenerator::OutputType o); void enableAll(); @@ -69,7 +70,7 @@ class OutputList : public OutputDocInterface bool indexWords,bool isExample,const char *exampleName /*=0*/, bool singleLine /*=FALSE*/,bool linkFromIndex /*=FALSE*/, bool markdownSupport /*=FALSE*/); - void writeDoc(DocRoot *root,const Definition *ctx,const MemberDef *md); + void writeDoc(DocRoot *root,const Definition *ctx,const MemberDef *md,int id=0); void parseText(const QCString &textStr); void startIndexSection(IndexSections is) @@ -85,7 +86,10 @@ class OutputList : public OutputDocInterface void writeStyleInfo(int part) { forall(&OutputGenerator::writeStyleInfo,part); } void startFile(const char *name,const char *manName,const char *title) - { forall(&OutputGenerator::startFile,name,manName,title); } + { + newId(); + forall(&OutputGenerator::startFile,name,manName,title,m_id); + } void writeSearchInfo() { forall(&OutputGenerator::writeSearchInfo); } void writeFooter(const char *navPath) @@ -486,6 +490,7 @@ class OutputList : public OutputDocInterface private: void debug(); void clear(); + void newId(); // For each output format that is enabled (OutputGenerator::isEnabled()) we forward // the method call. @@ -501,6 +506,7 @@ class OutputList : public OutputDocInterface } std::vector< std::unique_ptr<OutputGenerator> > m_outputs; + int m_id; }; |