| |
@@ -0,0 +1,112 @@
|
| |
+ diff -ur doxygen-1.9.2.orig/src/dirdef.cpp doxygen-1.9.2/src/dirdef.cpp
|
| |
+ --- doxygen-1.9.2.orig/src/dirdef.cpp 2021-08-17 19:10:43.000000000 +0200
|
| |
+ +++ doxygen-1.9.2/src/dirdef.cpp 2021-09-12 21:25:51.878853938 +0200
|
| |
+ @@ -47,7 +47,7 @@
|
| |
+ virtual bool isLinkableInProject() const;
|
| |
+ virtual bool isLinkable() const;
|
| |
+ virtual QCString displayName(bool=TRUE) const { return m_dispName; }
|
| |
+ - virtual const QCString &shortName() const { return m_shortName; }
|
| |
+ + virtual const QCString shortName() const { return m_shortName; }
|
| |
+ virtual void addSubDir(DirDef *subdir);
|
| |
+ virtual const FileList &getFiles() const { return m_fileList; }
|
| |
+ virtual void addFile(const FileDef *fd);
|
| |
+ @@ -66,6 +66,7 @@
|
| |
+ virtual void setDiskName(const QCString &name) { m_diskName = name; }
|
| |
+ virtual void sort();
|
| |
+ virtual void setParent(DirDef *parent);
|
| |
+ + virtual void setDirCount(int count);
|
| |
+ virtual void setLevel();
|
| |
+ virtual void addUsesDependency(const DirDef *usedDir,const FileDef *srcFd,
|
| |
+ const FileDef *dstFd,bool inherited);
|
| |
+ @@ -92,7 +93,7 @@
|
| |
+ QCString m_shortName;
|
| |
+ QCString m_diskName;
|
| |
+ FileList m_fileList; // list of files in the group
|
| |
+ - int m_dirCount;
|
| |
+ + int m_dirCount = -1;
|
| |
+ int m_level;
|
| |
+ DirDef *m_parent;
|
| |
+ UsedDirLinkedMap m_usedDirs;
|
| |
+ @@ -107,8 +108,6 @@
|
| |
+ //----------------------------------------------------------------------
|
| |
+ // method implementation
|
| |
+
|
| |
+ -static int g_dirCount=0;
|
| |
+ -
|
| |
+ DirDefImpl::DirDefImpl(const QCString &path) : DefinitionMixin(path,1,1,path)
|
| |
+ {
|
| |
+ bool fullPathNames = Config_getBool(FULL_PATH_NAMES);
|
| |
+ @@ -132,7 +131,6 @@
|
| |
+ m_dispName = m_dispName.left(m_dispName.length()-1);
|
| |
+ }
|
| |
+
|
| |
+ - m_dirCount = g_dirCount++;
|
| |
+ m_level=-1;
|
| |
+ m_parent=0;
|
| |
+ }
|
| |
+ @@ -163,6 +161,11 @@
|
| |
+ m_parent=p;
|
| |
+ }
|
| |
+
|
| |
+ +void DirDefImpl::setDirCount(int count)
|
| |
+ +{
|
| |
+ + m_dirCount=count;
|
| |
+ +}
|
| |
+ +
|
| |
+ void DirDefImpl::addFile(const FileDef *fd)
|
| |
+ {
|
| |
+ m_fileList.push_back(fd);
|
| |
+ @@ -993,7 +996,6 @@
|
| |
+ {
|
| |
+ for (const auto &fd : *fn)
|
| |
+ {
|
| |
+ - //printf("buildDirectories %s\n",qPrint(fd->name()));
|
| |
+ if (fd->getReference().isEmpty())
|
| |
+ {
|
| |
+ DirDef *dir;
|
| |
+ @@ -1038,7 +1040,24 @@
|
| |
+ std::sort(Doxygen::dirLinkedMap->begin(),
|
| |
+ Doxygen::dirLinkedMap->end(),
|
| |
+ [](const auto &d1,const auto &d2)
|
| |
+ - { return qstricmp(d1->shortName(),d2->shortName()) < 0; });
|
| |
+ + {
|
| |
+ + QCString s1 = d1->shortName(), s2 = d2->shortName();
|
| |
+ + int i = qstricmp(s1,s2);
|
| |
+ + if (i==0) // if sort name are equal, sort on full path
|
| |
+ + {
|
| |
+ + QCString n1 = d1->name(), n2 = d2->name();
|
| |
+ + int n = qstricmp(n1,n2);
|
| |
+ + return n < 0;
|
| |
+ + }
|
| |
+ + return i < 0;
|
| |
+ + });
|
| |
+ +
|
| |
+ + // set the directory count identifier
|
| |
+ + int dirCount=0;
|
| |
+ + for (const auto &dir : *Doxygen::dirLinkedMap)
|
| |
+ + {
|
| |
+ + dir->setDirCount(dirCount++);
|
| |
+ + }
|
| |
+
|
| |
+ computeCommonDirPrefix();
|
| |
+ }
|
| |
+ diff -ur doxygen-1.9.2.orig/src/dirdef.h doxygen-1.9.2/src/dirdef.h
|
| |
+ --- doxygen-1.9.2.orig/src/dirdef.h 2021-05-12 20:51:20.000000000 +0200
|
| |
+ +++ doxygen-1.9.2/src/dirdef.h 2021-09-12 21:25:42.394830066 +0200
|
| |
+ @@ -95,7 +95,7 @@
|
| |
+ virtual bool isLinkableInProject() const = 0;
|
| |
+ virtual bool isLinkable() const = 0;
|
| |
+ virtual QCString displayName(bool=TRUE) const = 0;
|
| |
+ - virtual const QCString &shortName() const = 0;
|
| |
+ + virtual const QCString shortName() const = 0;
|
| |
+ virtual void addSubDir(DirDef *subdir) = 0;
|
| |
+ virtual const FileList &getFiles() const = 0;
|
| |
+ virtual void addFile(const FileDef *fd) = 0;
|
| |
+ @@ -115,6 +115,7 @@
|
| |
+ virtual void writeTagFile(TextStream &t) = 0;
|
| |
+
|
| |
+ virtual void setDiskName(const QCString &name) = 0;
|
| |
+ + virtual void setDirCount(int count) = 0;
|
| |
+ virtual void sort() = 0;
|
| |
+ virtual void setParent(DirDef *parent) = 0;
|
| |
+ virtual void setLevel() = 0;
|
| |
This PR adds a patch containing upstream's fix for rhbz#2000138
The patch includes the following three commits from git: