diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-12-12 11:17:02 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-12-12 11:45:41 (GMT) |
commit | 050b247c2fa1f667c26794a4dbaa21254b2cb321 (patch) | |
tree | 782312efb0c6c3f46b629add2acaeb9329eb6474 /src | |
parent | f3be5da77f1d19cc903f6c8f218c645682f397e4 (diff) | |
download | Doxygen-050b247c2fa1f667c26794a4dbaa21254b2cb321.zip Doxygen-050b247c2fa1f667c26794a4dbaa21254b2cb321.tar.gz Doxygen-050b247c2fa1f667c26794a4dbaa21254b2cb321.tar.bz2 |
Fix for compilation issues on Windows
Using lambdas as a default argument is not supported by older versions of MSVC
Diffstat (limited to 'src')
-rw-r--r-- | src/layout.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/layout.cpp b/src/layout.cpp index 6ebe4b6..a1a054e 100644 --- a/src/layout.cpp +++ b/src/layout.cpp @@ -720,13 +720,22 @@ static ElementCallbacks::StartCallback startCb(void (LayoutParser::*fn)(LayoutDo static ElementCallbacks::StartCallback startCb(void (LayoutParser::*fn)(const XMLHandlers::Attributes &,MemberListType,const QCString &,const QCString &), MemberListType type, + std::function<QCString()> title + ) +{ + return [fn,type,title](LayoutParser &parser,const XMLHandlers::Attributes &attr) { (parser.*fn)(attr,type,title(),QCString()); }; +} + +static ElementCallbacks::StartCallback startCb(void (LayoutParser::*fn)(const XMLHandlers::Attributes &,MemberListType,const QCString &,const QCString &), + MemberListType type, std::function<QCString()> title, - std::function<QCString()> subtitle=[](){ return QCString(); } + std::function<QCString()> subtitle ) { return [fn,type,title,subtitle](LayoutParser &parser,const XMLHandlers::Attributes &attr) { (parser.*fn)(attr,type,title(),subtitle()); }; } + static ElementCallbacks::EndCallback endCb(void (LayoutParser::*fn)()) { return [fn](LayoutParser &parser) { (parser.*fn)(); }; @@ -1541,7 +1550,7 @@ void LayoutDocManager::parse(const char *fileName) XMLHandlers handlers; handlers.startElement = [&layoutParser](const std::string &name,const XMLHandlers::Attributes &attrs) { layoutParser.startElement(name,attrs); }; handlers.endElement = [&layoutParser](const std::string &name) { layoutParser.endElement(name); }; - handlers.error = [&layoutParser](const std::string &fileName,int lineNr,const std::string &msg) { layoutParser.error(fileName,lineNr,msg); }; + handlers.error = [&layoutParser](const std::string &fn,int lineNr,const std::string &msg) { layoutParser.error(fn,lineNr,msg); }; XMLParser parser(handlers); layoutParser.setDocumentLocator(&parser); parser.parse(fileName,fileToString(fileName)); |