diff options
author | albert-github <albert.tests@gmail.com> | 2018-07-01 09:08:27 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2018-07-01 09:08:27 (GMT) |
commit | 1de4faf17a4b5de11839220d95e08264303924c5 (patch) | |
tree | a6b554a5b828f8bc32a5388667d180f28fe93ab1 /src/htmlgen.cpp | |
parent | 154e877cc2e8b10091d7e0068b6f6d5793cd29f3 (diff) | |
download | Doxygen-1de4faf17a4b5de11839220d95e08264303924c5.zip Doxygen-1de4faf17a4b5de11839220d95e08264303924c5.tar.gz Doxygen-1de4faf17a4b5de11839220d95e08264303924c5.tar.bz2 |
Tooltip was twice 'HTML escaped'
The tooltip was already 'HTML escaped' except for some '<' and '>' characters but was again 'HTML escaped' resulting in e.g. that a single apostrophe (') was translated to ' and again to &#39; resulting in ' in the tooltip.
Only '<' and '>' are now 'HTML escaped again'
Diffstat (limited to 'src/htmlgen.cpp')
-rw-r--r-- | src/htmlgen.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 740b2f5..8feb8b0 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -514,6 +514,27 @@ void HtmlCodeGenerator::docify(const char *str) } } +void HtmlCodeGenerator::docify_tt(const char *str) +{ + m_t << getHtmlDirEmbedingChar(getTextDirByConfig(str)); + + if (str && m_streamSet) + { + const char *p=str; + char c; + while (*p) + { + c=*p++; + switch(c) + { + case '<': m_t << "<"; break; + case '>': m_t << ">"; break; + default: m_t << c; + } + } + } +} + void HtmlCodeGenerator::writeLineNumber(const char *ref,const char *filename, const char *anchor,int l) { @@ -606,7 +627,7 @@ void HtmlCodeGenerator::writeTooltip(const char *id, const DocLinkInfo &docInfo, if (desc) { m_t << "<div class=\"ttdoc\">"; - docify(desc); // desc is already HTML escaped; but there are still < and > signs + docify_tt(desc); // desc is already HTML escaped; but there are still < and > signs m_t << "</div>"; } if (!defInfo.file.isEmpty()) |