summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2020-01-04 12:24:16 (GMT)
committeralbert-github <albert.tests@gmail.com>2020-01-04 12:24:16 (GMT)
commit2f79c6938c6d969f3d4ebc9ed0f2648668434502 (patch)
tree378f05d9fdbcf8484d4bd78833e5fb7318759306 /src
parent0e874a5229554347254d5b346149e8540ba0f686 (diff)
downloadDoxygen-2f79c6938c6d969f3d4ebc9ed0f2648668434502.zip
Doxygen-2f79c6938c6d969f3d4ebc9ed0f2648668434502.tar.gz
Doxygen-2f79c6938c6d969f3d4ebc9ed0f2648668434502.tar.bz2
issue #7477 Broken urls in the xml output
Made code analogous to HTML code. Also the doxygen internal tests suffered from this problem.
Diffstat (limited to 'src')
-rw-r--r--src/xmldocvisitor.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 409c2fe..1e6becb 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -824,18 +824,22 @@ void XmlDocVisitor::visitPre(DocImage *img)
{
if (m_hide) return;
- QCString baseName=img->name();
- int i;
- if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
+ QCString url = img->url();
+ QCString baseName;
+ if (url.isEmpty())
{
- baseName=baseName.right(baseName.length()-i-1);
+ baseName = img->relPath()+img->name();
+ }
+ else
+ {
+ baseName = correctURL(url,img->relPath());
}
visitPreStart(m_t, "image", FALSE, this, img->children(), baseName, TRUE, img->type(), img->width(), img->height(), img ->isInlineImage());
// copy the image to the output dir
FileDef *fd;
bool ambig;
- if ((fd=findFileDef(Doxygen::imageNameDict,img->name(),ambig)))
+ if (url.isEmpty() && (fd=findFileDef(Doxygen::imageNameDict,img->name(),ambig)))
{
QFile inImage(fd->absFilePath());
QFile outImage(Config_getString(XML_OUTPUT)+"/"+baseName.data());