summaryrefslogtreecommitdiffstats
path: root/src/xmldocvisitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmldocvisitor.cpp')
-rw-r--r--src/xmldocvisitor.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 55c2b38..93765b1 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -770,17 +770,22 @@ void XmlDocVisitor::visitPre(DocImage *img)
visitPreStart(m_t, "image", FALSE, this, img->children(), baseName, TRUE, img->type(), img->width(), img->height());
// copy the image to the output dir
- QFile inImage(img->name());
- QFile outImage(Config_getString(XML_OUTPUT)+"/"+baseName.data());
- if (inImage.open(IO_ReadOnly))
+ FileDef *fd;
+ bool ambig;
+ if ((fd=findFileDef(Doxygen::imageNameDict,img->name(),ambig)))
{
- if (outImage.open(IO_WriteOnly))
+ QFile inImage(fd->absFilePath());
+ QFile outImage(Config_getString(XML_OUTPUT)+"/"+baseName.data());
+ if (inImage.open(IO_ReadOnly))
{
- char *buffer = new char[inImage.size()];
- inImage.readBlock(buffer,inImage.size());
- outImage.writeBlock(buffer,inImage.size());
- outImage.flush();
- delete[] buffer;
+ if (outImage.open(IO_WriteOnly))
+ {
+ char *buffer = new char[inImage.size()];
+ inImage.readBlock(buffer,inImage.size());
+ outImage.writeBlock(buffer,inImage.size());
+ outImage.flush();
+ delete[] buffer;
+ }
}
}
}