diff --git a/RTFGenerator-should-exit-with-0-when-gengrate-file-s.patch b/RTFGenerator-should-exit-with-0-when-gengrate-file-s.patch index c91b1bd5e9053f8ca370ae27a79602b3a34a23bc..15c952ce39811a15595fed9066226683e1cdb958 100644 --- a/RTFGenerator-should-exit-with-0-when-gengrate-file-s.patch +++ b/RTFGenerator-should-exit-with-0-when-gengrate-file-s.patch @@ -12,13 +12,13 @@ index 6163e81..31f6886 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -9974,7 +9974,7 @@ void readConfiguration(int argc, char **argv) - RTFGenerator::writeStyleSheetFile(f); + RTFGenerator::writeStyleSheetFile(t); } cleanUpDoxygen(); - exit(1); + exit(0); } - else if (qstricmp(formatName,"html")==0) + else if (qstricmp(formatName.data(),"html")==0) { -- 2.30.0 diff --git a/backport-Incorrect-label-in-map-of-dot-files-in-xhtml.patch b/backport-Incorrect-label-in-map-of-dot-files-in-xhtml.patch deleted file mode 100644 index 6c1d07603d9fa65fc93a4bf0a71cf17fee184c48..0000000000000000000000000000000000000000 --- a/backport-Incorrect-label-in-map-of-dot-files-in-xhtml.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 320878afdf87d87745d9e36731ae70b8bc23063d Mon Sep 17 00:00:00 2001 -From: albert-github -Date: Wed, 10 Jun 2020 12:32:24 +0200 -Subject: [PATCH] Incorrect label in map of dot files in xhtml - -https://github.com/doxygen/doxygen/pull/7840/commits/320878afdf87d87745d9e36731ae70b8bc23063d - -When a filename of a file starts with a digit the mapping of the resulting dot files results in message like: -``` -Syntax of value for attribute id of map is not valid -``` -an id cannot start with a digit, so an "a" is placed in front of it (unconditionally to overcome problems with a double label id i.e filename 087.cpp and a087.cpp). - ---- - src/dotfilepatcher.cpp | 2 +- - src/dotgraph.cpp | 2 +- - src/util.cpp | 10 ++++++++++ - src/util.h | 1 + - 4 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/src/dotfilepatcher.cpp b/src/dotfilepatcher.cpp -index e386af9..338be69 100644 ---- a/src/dotfilepatcher.cpp -+++ b/src/dotfilepatcher.cpp -@@ -459,7 +459,7 @@ bool DotFilePatcher::run() const - convertMapFile(tt,map->mapFile,map->relPath,map->urlOnly,map->context); - if (!result.isEmpty()) - { -- t << "label << "\" id=\"" << map->label << "\">" << endl; -+ t << "label << "\" id=\"" << correctId(map->label) << "\">" << endl; - t << result; - t << "" << endl; - } -diff --git a/src/dotgraph.cpp b/src/dotgraph.cpp -index e622dd4..55ea5ab 100644 ---- a/src/dotgraph.cpp -+++ b/src/dotgraph.cpp -@@ -246,7 +246,7 @@ void DotGraph::generateCode(FTextStream &t) - else // add link to bitmap file with image map - { - if (!m_noDivTag) t << "
"; -- t << "\"""; -+ t << "\"""; - if (!m_noDivTag) t << "
"; - t << endl; - if (m_regenerate || !insertMapFile(t, absMapName(), m_relPath, getMapLabel())) -diff --git a/src/util.cpp b/src/util.cpp -index 6d6112e..e8cf778 100644 ---- a/src/util.cpp -+++ b/src/util.cpp -@@ -5382,6 +5382,16 @@ QCString convertToId(const char *s) - return growBuf.get(); - } - -+/*! Some strings have been corrected but the requirement regarding the fact -+ * that an id cannot have a digit at the first position. To overcome problems -+ * with double labels we always place an "a" in front -+ */ -+QCString correctId(QCString s) -+{ -+ if (s.isEmpty()) return s; -+ return "a" + s; -+} -+ - /*! Converts a string to an XML-encoded string */ - QCString convertToXML(const char *s, bool keepEntities) - { -diff --git a/src/util.h b/src/util.h -index 98223b1..54421b2 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -278,6 +278,7 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te - QCString stripScope(const char *name); - - QCString convertToId(const char *s); -+QCString correctId(QCString s); - - QCString convertToHtml(const char *s,bool keepEntities=TRUE); - --- -2.23.0 - diff --git a/backport-Incorrect-label-name-in-case-regeneration-of-HTML-without_regeneration_of_dot_files.patch b/backport-Incorrect-label-name-in-case-regeneration-of-HTML-without_regeneration_of_dot_files.patch deleted file mode 100644 index 8510f99303d3fed48b0d82b2c0ea59dc055ac987..0000000000000000000000000000000000000000 --- a/backport-Incorrect-label-name-in-case-regeneration-of-HTML-without_regeneration_of_dot_files.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 939eca311ced62d9cb41d8e3c1acc207c99e09ed Mon Sep 17 00:00:00 2001 -From: albert-github -Date: Thu, 15 Oct 2020 13:06:23 +0200 -Subject: [PATCH] Incorrect label / name in case regeneration of HTML without - regeneration of dot files - -https://github.com/doxygen/doxygen/commit/de56d1864473485861bac89436337e8114fb2f6b - -This is a further regression on #7840. -In case we regenerate the HTML files but not the image files based on dot we get incorrect labels for the id / name in the HTML output. ---- - src/dotgraph.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/dotgraph.cpp b/src/dotgraph.cpp -index 55ea5ab..e1844b5 100644 ---- a/src/dotgraph.cpp -+++ b/src/dotgraph.cpp -@@ -249,7 +249,7 @@ void DotGraph::generateCode(FTextStream &t) - t << "\"""; - if (!m_noDivTag) t << ""; - t << endl; -- if (m_regenerate || !insertMapFile(t, absMapName(), m_relPath, getMapLabel())) -+ if (m_regenerate || !insertMapFile(t, absMapName(), m_relPath, correctId(getMapLabel()))) - { - int mapId = DotManager::instance()-> - createFilePatcher(m_fileName.data())-> --- -2.23.0 - diff --git a/backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs-part2.patch b/backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs-part2.patch deleted file mode 100644 index 313eb1fc8f88544489c9d512c5c8841dfd44c7e4..0000000000000000000000000000000000000000 --- a/backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs-part2.patch +++ /dev/null @@ -1,190 +0,0 @@ -From cd581388f3d013c501e3cefbaf3e81cf93d46fcb Mon Sep 17 00:00:00 2001 -From: Dimitri van Heesch -Date: Sun, 19 Apr 2020 14:21:18 +0200 -Subject: [PATCH] issue #7706: Md5 hash does not match for two different runs - (part 2) - ---- - src/dotfilepatcher.cpp | 41 +++++++++++++++++++++-------------------- - src/dotgraph.cpp | 12 +----------- - 2 files changed, 22 insertions(+), 31 deletions(-) - -diff --git a/src/dotfilepatcher.cpp b/src/dotfilepatcher.cpp -index e386af9..20ce4c1 100644 ---- a/src/dotfilepatcher.cpp -+++ b/src/dotfilepatcher.cpp -@@ -132,7 +132,7 @@ static QCString replaceRef(const QCString &buf,const QCString relPath, - //bool isXLink=FALSE; - int len = 6; - int indexS = buf.find("href=\""), indexE; -- bool setTarget = FALSE; -+ bool targetAlreadySet = buf.find("target=")!=-1; - if (indexS>5 && buf.find("xlink:href=\"")!=-1) // XLink href (for SVG) - { - indexS-=6; -@@ -152,9 +152,9 @@ static QCString replaceRef(const QCString &buf,const QCString relPath, - // fake ref node to resolve the url - DocRef *df = new DocRef( (DocNode*) 0, link.mid(5), context ); - result+=externalRef(relPath,df->ref(),TRUE); -- if (!df->file().isEmpty()) -+ if (!df->file().isEmpty()) - result += df->file().data() + Doxygen::htmlFileExtension; -- if (!df->anchor().isEmpty()) -+ if (!df->anchor().isEmpty()) - result += "#" + df->anchor(); - delete df; - result += "\""; -@@ -174,7 +174,6 @@ static QCString replaceRef(const QCString &buf,const QCString relPath, - if (!ref.isEmpty()) - { - result = externalLinkTarget(true); -- if (result != "") setTarget = TRUE; - } - result+= href+"=\""; - result+=externalRef(relPath,ref,TRUE); -@@ -185,12 +184,14 @@ static QCString replaceRef(const QCString &buf,const QCString relPath, - result = href+"=\"" + link + "\""; - } - } -- if (!target.isEmpty() && !setTarget) -+ if (!target.isEmpty() && !targetAlreadySet) - { - result+=" target=\""+target+"\""; - } - QCString leftPart = buf.left(indexS); - QCString rightPart = buf.mid(indexE+1); -+ //printf("replaceRef(\n'%s'\n)->\n'%s+%s+%s'\n", -+ // buf.data(),leftPart.data(),result.data(),rightPart.data()); - return leftPart + result + rightPart; - } - else -@@ -215,7 +216,7 @@ bool DotFilePatcher::convertMapFile(FTextStream &t,const char *mapName, - const QCString &context) - { - QFile f(mapName); -- if (!f.open(IO_ReadOnly)) -+ if (!f.open(IO_ReadOnly)) - { - err("problems opening map file %s for inclusion in the docs!\n" - "If you installed Graphviz/dot after a previous failing run, \n" -@@ -250,7 +251,7 @@ bool DotFilePatcher::convertMapFile(FTextStream &t,const char *mapName, - return TRUE; - } - --DotFilePatcher::DotFilePatcher(const char *patchFile) -+DotFilePatcher::DotFilePatcher(const char *patchFile) - : m_patchFile(patchFile) - { - m_maps.setAutoDelete(TRUE); -@@ -346,7 +347,7 @@ bool DotFilePatcher::run() const - } - QFile fi(tmpName); - QFile fo(patchFile); -- if (!fi.open(IO_ReadOnly)) -+ if (!fi.open(IO_ReadOnly)) - { - err("problem opening file %s for patching!\n",tmpName.data()); - QDir::current().rename(tmpName,patchFile); -@@ -380,7 +381,7 @@ bool DotFilePatcher::run() const - ASSERT(numBytes600) height=600; // clip to maximum height of 600 pixels - out << "
"; -- //out << ""; - } - else - { -- //out << ""; - } - writeSVGNotSupported(out); -@@ -650,7 +651,7 @@ bool DotFilePatcher::writeVecGfxFigure(FTextStream &out,const QCString &baseName - } - //printf("Got PDF/EPS size %d,%d\n",width,height); - int maxWidth = 350; /* approx. page width in points, excl. margins */ -- int maxHeight = 550; /* approx. page height in points, excl. margins */ -+ int maxHeight = 550; /* approx. page height in points, excl. margins */ - out << "\\nopagebreak\n" - "\\begin{figure}[H]\n" - "\\begin{center}\n" -diff --git a/src/dotgraph.cpp b/src/dotgraph.cpp -index e622dd4..c0cc4fd 100644 ---- a/src/dotgraph.cpp -+++ b/src/dotgraph.cpp -@@ -74,15 +74,6 @@ static bool checkDeliverables(const QCString &file1, - return file1Ok && file2Ok; - } - --static void removeDotGraph(const QCString &dotName) --{ -- if (Config_getBool(DOT_CLEANUP)) -- { -- QDir d; -- d.remove(dotName); -- } --} -- - static bool insertMapFile(FTextStream &out,const QCString &mapFile, - const QCString &relPath,const QCString &mapLabel) - { -@@ -108,7 +99,7 @@ static bool insertMapFile(FTextStream &out,const QCString &mapFile, - QCString DotGraph::imgName() const - { - return m_baseName + ((m_graphFormat == GOF_BITMAP) ? -- ("." + getDotImageExtension()) : (Config_getBool(USE_PDFLATEX) ? ".pdf" : ".eps")); -+ ("." + getDotImageExtension()) : (Config_getBool(USE_PDFLATEX) ? ".pdf" : ".eps")); - } - - QCString DotGraph::writeGraph( -@@ -166,7 +157,6 @@ bool DotGraph::prepareDotFile() - ) - { - // all needed files are there -- removeDotGraph(absDotName()); - return FALSE; - } - --- -1.8.3.1 - diff --git a/backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs.patch b/backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs.patch deleted file mode 100644 index 6ebed59e1b6a1be916dfabd675b25077f9bcfafa..0000000000000000000000000000000000000000 --- a/backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs.patch +++ /dev/null @@ -1,265 +0,0 @@ -From f3ebc866c88b31ab393637e30189d41ddb7f84f0 Mon Sep 17 00:00:00 2001 -From: Dimitri van Heesch -Date: Fri, 17 Apr 2020 21:39:13 +0200 -Subject: [PATCH] issue #7706: Md5 hash does not match for two different runs - ---- - src/memberlist.cpp | 79 +++++++++++++++++++++++++++++------------------------- - 1 file changed, 42 insertions(+), 37 deletions(-) - -diff --git a/src/memberlist.cpp b/src/memberlist.cpp -index 8a76a1d..b5377a4 100644 ---- a/src/memberlist.cpp -+++ b/src/memberlist.cpp -@@ -1,12 +1,12 @@ - /****************************************************************************** - * -- * -+ * - * - * Copyright (C) 1997-2015 by Dimitri van Heesch. - * - * Permission to use, copy, modify, and distribute this software and its -- * documentation under the terms of the GNU General Public License is hereby -- * granted. No representations are made about the suitability of this software -+ * documentation under the terms of the GNU General Public License is hereby -+ * granted. No representations are made about the suitability of this software - * for any purpose. It is provided "as is" without express or implied warranty. - * See the GNU General Public License for more details. - * -@@ -63,10 +63,11 @@ MemberList::~MemberList() - delete memberGroupList; - } - --int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const -+static int genericCompareMembers(const MemberDef *c1,const MemberDef *c2) - { -- static bool sortConstructorsFirst = Config_getBool(SORT_MEMBERS_CTORS_1ST); -- if (sortConstructorsFirst) { -+ bool sortConstructorsFirst = Config_getBool(SORT_MEMBERS_CTORS_1ST); -+ if (sortConstructorsFirst) -+ { - int ord1 = c1->isConstructor() ? 2 : (c1->isDestructor() ? 1 : 0); - int ord2 = c2->isConstructor() ? 2 : (c2->isDestructor() ? 1 : 0); - if (ord1 > ord2) -@@ -74,11 +75,19 @@ int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const - else if (ord2 > ord1) - return 1; - } -+ // sort on name - int cmp = qstricmp(c1->name(),c2->name()); -+ // then on argument list - if (cmp==0 && c1->argsString() && c2->argsString()) - { - cmp = qstricmp(c1->argsString(),c2->argsString()); - } -+ // then on file in which the item is defined -+ if (cmp==0) -+ { -+ cmp = qstricmp(c1->getDefFileName(),c2->getDefFileName()); -+ } -+ // then on line number at which the member is defined - if (cmp==0) - { - cmp = c1->getDefLine()-c2->getDefLine(); -@@ -86,6 +95,11 @@ int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const - return cmp; - } - -+int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const -+{ -+ return genericCompareMembers(c1,c2); -+} -+ - int MemberList::countInheritableMembers(const ClassDef *inheritedFrom) const - { - int count=0; -@@ -295,7 +309,7 @@ MemberDef *MemberList::take(uint index) - } - - MemberListIterator::MemberListIterator(const MemberList &l) : -- QListIterator(l) -+ QListIterator(l) - { - } - -@@ -385,9 +399,9 @@ bool MemberList::declVisible() const - case MemberType_Service: // fall through - case MemberType_Sequence: // fall through - case MemberType_Dictionary: // fall through -- case MemberType_Event: -+ case MemberType_Event: - return TRUE; -- case MemberType_Enumeration: -+ case MemberType_Enumeration: - { - // if this is an anonymous enum and there are variables of this - // enum type (i.e. enumVars>0), then we do not show the enum here. -@@ -399,7 +413,7 @@ bool MemberList::declVisible() const - break; - case MemberType_Friend: - return TRUE; -- case MemberType_EnumValue: -+ case MemberType_EnumValue: - { - if (m_inGroup) - { -@@ -431,7 +445,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, - } - //printf(" --> writePlainDeclaration() numDecMembers()=%d\n", - // numDecMembers()); -- -+ - ol.pushGeneratorState(); - - bool first=TRUE; -@@ -460,13 +474,13 @@ void MemberList::writePlainDeclarations(OutputList &ol, - case MemberType_Service: // fall through - case MemberType_Sequence: // fall through - case MemberType_Dictionary: // fall through -- case MemberType_Event: -+ case MemberType_Event: - { - if (first) ol.startMemberList(),first=FALSE; - md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup,inheritedFrom,inheritId); - break; - } -- case MemberType_Enumeration: -+ case MemberType_Enumeration: - { - // if this is an anonymous enum and there are variables of this - // enum type (i.e. enumVars>0), then we do not show the enum here. -@@ -531,7 +545,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, - case MemberType_Friend: - if (inheritedFrom==0) - { -- if (first) -+ if (first) - { - ol.startMemberList(); - first=FALSE; -@@ -539,7 +553,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, - md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup,inheritedFrom,inheritId); - break; - } -- case MemberType_EnumValue: -+ case MemberType_EnumValue: - { - if (m_inGroup) - { -@@ -565,7 +579,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, - //printf("anonymous compound members\n"); - if (md->isBriefSectionVisible()) - { -- if (first) -+ if (first) - { - ol.startMemberList(); - first=FALSE; -@@ -576,10 +590,10 @@ void MemberList::writePlainDeclarations(OutputList &ol, - } - } - } -- -- if (!first) -+ -+ if (!first) - { -- ol.endMemberList(); -+ ol.endMemberList(); - } - - ol.popGeneratorState(); -@@ -635,7 +649,7 @@ void MemberList::writeDeclarations(OutputList &ol, - if (title) - { - ol.writeInheritedSectionTitle(inheritId,cd->getReference(), -- cd->getOutputFileBase(), -+ cd->getOutputFileBase(), - cd->anchor(),title,cd->displayName()); - } - ol.popGeneratorState(); -@@ -643,7 +657,7 @@ void MemberList::writeDeclarations(OutputList &ol, - } - else if (num>numEnumValues) - { -- if (title) -+ if (title) - { - if (showInline) - { -@@ -663,7 +677,7 @@ void MemberList::writeDeclarations(OutputList &ol, - ol.endMemberHeader(); - } - } -- if (subtitle) -+ if (subtitle) - { - QCString st=subtitle; - st = st.stripWhiteSpace(); -@@ -728,7 +742,7 @@ void MemberList::writeDeclarations(OutputList &ol, - } - } - } -- if (inheritedFrom && cd) -+ if (inheritedFrom && cd) - { - // also add members that of this list type, that are grouped together - // in a separate list in class 'inheritedFrom' -@@ -772,7 +786,7 @@ void MemberList::writeDocumentation(OutputList &ol, - overloadCountDict.setAutoDelete(TRUE); - for (mli.toFirst() ; (md=mli.current()) ; ++mli) - { -- if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) && -+ if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) && - !(md->isEnumValue() && !showInline)) - { - uint *pCount = overloadTotalDict.find(md->name()); -@@ -790,7 +804,7 @@ void MemberList::writeDocumentation(OutputList &ol, - - for (mli.toFirst() ; (md=mli.current()) ; ++mli) - { -- if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) && -+ if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) && - !(md->isEnumValue() && !showInline)) - { - uint overloadCount = *overloadTotalDict.find(md->name()); -@@ -949,7 +963,7 @@ void MemberList::addListReferences(Definition *def) - MemberDef *vmd; - for ( ; (vmd=vmli.current()) ; ++vmli) - { -- //printf(" adding %s\n",vmd->name().data()); -+ //printf(" adding %s\n",vmd->name().data()); - vmd->addListReference(def); - } - } -@@ -990,7 +1004,7 @@ void MemberList::setNeedsSorting(bool b) - m_needsSorting = b; - } - --QCString MemberList::listTypeAsString(MemberListType type) -+QCString MemberList::listTypeAsString(MemberListType type) - { - switch(type) - { -@@ -1087,16 +1101,7 @@ void MemberList::writeTagFile(FTextStream &tagFile) - - int MemberSDict::compareValues(const MemberDef *c1, const MemberDef *c2) const - { -- //printf("MemberSDict::compareValues(%s,%s)\n",c1->name().data(),c2->name().data()); -- int cmp = qstricmp(c1->name(),c2->name()); -- if (cmp) -- { -- return cmp; -- } -- else -- { -- return c1->getDefLine()-c2->getDefLine(); -- } -+ return genericCompareMembers(c1,c2); - } - - --- -1.8.3.1 - diff --git a/doxygen-1.8.18.src.tar.gz b/doxygen-1.9.2.src.tar.gz similarity index 40% rename from doxygen-1.8.18.src.tar.gz rename to doxygen-1.9.2.src.tar.gz index 5b6369d73fb8444b85a7ccaed029e0b157a2d20b..a5ccb5e6260632054f17e26bfec6951091e3aa4d 100644 Binary files a/doxygen-1.8.18.src.tar.gz and b/doxygen-1.9.2.src.tar.gz differ diff --git a/doxygen.spec b/doxygen.spec index c474d1f5e0fa67c32c3b15c96b92559ec404a328..d4f1698e6894134f33d04652d9dd6f53cc57742c 100644 --- a/doxygen.spec +++ b/doxygen.spec @@ -2,20 +2,15 @@ %global BuildDir Out Name: doxygen Epoch: 1 -Version: 1.8.18 -Release: 9 +Version: 1.9.2 +Release: 1 Summary: A documentation system for C/C++ License: GPL+ Url: http://www.doxygen.nl Source0: https://nchc.dl.sourceforge.net/project/%{name}/rel-%{version}/%{name}-%{version}.src.tar.gz Source1: doxywizard.desktop -Patch6000: ef6cc2b1b3b70fba03e994e7a61926c8e2958867.patch -Patch6001: backport-Incorrect-label-in-map-of-dot-files-in-xhtml.patch -Patch6002: backport-Incorrect-label-name-in-case-regeneration-of-HTML-without_regeneration_of_dot_files.patch -Patch6003: RTFGenerator-should-exit-with-0-when-gengrate-file-s.patch -Patch6004: backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs.patch -Patch6005: backport-issue-7706-Md5-hash-does-not-match-for-two-different-runs-part2.patch +Patch0: RTFGenerator-should-exit-with-0-when-gengrate-file-s.patch BuildRequires: python3 ImageMagick gcc-c++ gcc perl-interpreter BuildRequires: tex(dvips) tex(latex) tex(multirow.sty) tex(sectsty.sty) tex(tocloft.sty) @@ -100,6 +95,9 @@ make tests -C %{BuildDir} %{_datadir}/icons/hicolor/*/apps/doxywizard.png %changelog +* Wed Dec 1 2021 zoulin - 1.9.2-1 +- update version to 1.9.2 + * Fri Jun 4 2021 wangchen - 1.8.18-9 - Fix md5 hash does not match for two different runs diff --git a/ef6cc2b1b3b70fba03e994e7a61926c8e2958867.patch b/ef6cc2b1b3b70fba03e994e7a61926c8e2958867.patch deleted file mode 100644 index 44e061ea062f1e345baa9179c412093b97c8a588..0000000000000000000000000000000000000000 --- a/ef6cc2b1b3b70fba03e994e7a61926c8e2958867.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex -index aacb57390..3354801dc 100644 ---- a/doc/doxygen_manual.tex -+++ b/doc/doxygen_manual.tex -@@ -122,6 +122,7 @@ - \usepackage{etoc} - \etocsettocstyle{\doxytocparskip}{\doxynormalparskip} - \begin{document} -+\raggedbottom - \pagenumbering{alph} - \begin{titlepage} - \includegraphics[width=\textwidth]{doxygen_logo} -diff --git a/src/latexgen.cpp b/src/latexgen.cpp -index 1d55dd60f..418afa7ed 100644 ---- a/src/latexgen.cpp -+++ b/src/latexgen.cpp -@@ -774,7 +774,8 @@ static void writeDefaultHeaderPart1(FTextStream &t) - // End of preamble, now comes the document contents - t << "%===== C O N T E N T S =====\n" - "\n" -- "\\begin{document}\n"; -+ "\\begin{document}\n" -+ "\\raggedbottom\n"; - QCString documentPre = theTranslator->latexDocumentPre(); - if (!documentPre.isEmpty()) - { -diff --git a/templates/latex/doxygen.sty b/templates/latex/doxygen.sty -index 78a52546a..a1399b14a 100644 ---- a/templates/latex/doxygen.sty -+++ b/templates/latex/doxygen.sty -@@ -186,9 +186,8 @@ - % (only if caption is specified) - \newenvironment{DoxyImage}{% - \begin{figure}[H]% -- \begin{center}% -+ \centering% - }{% -- \end{center}% - \end{figure}% - } -