commit:     800629cda982acb00750586ba4eb769c37b6a81c
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 19:37:36 2019 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 19:46:27 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=800629cd

app-doc/doxygen: 1.8.16: fix external tag file issue

Closes: https://bugs.gentoo.org/701930
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 app-doc/doxygen/doxygen-1.8.16.ebuild              |  1 +
 ...en-1.8.16-fix-external-tag-files-with-TOC.patch | 50 ++++++++++++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/app-doc/doxygen/doxygen-1.8.16.ebuild 
b/app-doc/doxygen/doxygen-1.8.16.ebuild
index 98f6fa74904..e37985247ca 100644
--- a/app-doc/doxygen/doxygen-1.8.16.ebuild
+++ b/app-doc/doxygen/doxygen-1.8.16.ebuild
@@ -64,6 +64,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.8.16-link_with_pthread.patch"
        "${FILESDIR}/${PN}-1.8.15-llvm7.patch" #666692
        "${FILESDIR}/${PN}-1.8.16-ghostscript-compatilibility.patch" #695710
+       "${FILESDIR}/${PN}-1.8.16-fix-external-tag-files-with-TOC.patch" #701930
 )
 
 DOCS=( LANGUAGE.HOWTO README.md )

diff --git 
a/app-doc/doxygen/files/doxygen-1.8.16-fix-external-tag-files-with-TOC.patch 
b/app-doc/doxygen/files/doxygen-1.8.16-fix-external-tag-files-with-TOC.patch
new file mode 100644
index 00000000000..cc0704b440f
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.16-fix-external-tag-files-with-TOC.patch
@@ -0,0 +1,50 @@
+From 4a72a9b07e805b4ba27560e8e921bcee0002ef4c Mon Sep 17 00:00:00 2001
+From: albert-github <[email protected]>
+Date: Mon, 9 Sep 2019 13:28:28 +0200
+Subject: [PATCH] issue #7248: Including external tag files with TOC produces a
+ broken index.qhp
+
+Ignore automatically generated anchor names when importing a tag file.
+
+Upstream: https://github.com/doxygen/doxygen/pull/7250
+---
+ src/tagreader.cpp | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/src/tagreader.cpp b/src/tagreader.cpp
+index 56dbe7df9..d79d9b5c5 100644
+--- a/src/tagreader.cpp
++++ b/src/tagreader.cpp
+@@ -494,6 +494,23 @@ class TagFileParser : public QXmlDefaultHandler
+ 
+     void endDocAnchor()
+     {
++      // Check whether or not the tag is automatically generate, in that case 
ignore the tag.
++      switch(m_state)
++      {
++        case InClass:
++        case InFile:
++        case InNamespace:
++        case InGroup:
++        case InPage:
++        case InMember:
++        case InPackage:
++        case InDir:
++          if (QString(m_curString).startsWith("autotoc_md")) return;
++          break;
++        default:
++          warn("Unexpected tag 'docanchor' found");
++          return;
++      }
+       switch(m_state)
+       {
+         case InClass:     m_curClass->docAnchors.append(new 
TagAnchorInfo(m_fileName,m_curString,m_title)); break;
+@@ -504,7 +521,7 @@ class TagFileParser : public QXmlDefaultHandler
+         case InMember:    m_curMember->docAnchors.append(new 
TagAnchorInfo(m_fileName,m_curString,m_title)); break;
+         case InPackage:   m_curPackage->docAnchors.append(new 
TagAnchorInfo(m_fileName,m_curString,m_title)); break;
+         case InDir:       m_curDir->docAnchors.append(new 
TagAnchorInfo(m_fileName,m_curString,m_title)); break;
+-        default:   warn("Unexpected tag 'docanchor' found"); break; 
++        default:   warn("Unexpected tag 'docanchor' found"); break;  // Not 
really necessary anymore
+       }
+     }
+ 

Reply via email to