diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/docbookgen.cpp | 10 | ||||
-rw-r--r-- | src/doxygen.cpp | 6 | ||||
-rw-r--r-- | src/htmlgen.cpp | 35 | ||||
-rw-r--r-- | src/htmlgen.h | 4 | ||||
-rw-r--r-- | src/portable.cpp | 1 | ||||
-rw-r--r-- | src/rtfgen.cpp | 21 | ||||
-rw-r--r-- | src/rtfgen.h | 6 | ||||
-rw-r--r-- | src/sqlite3gen.cpp | 6 | ||||
-rw-r--r-- | src/util.cpp | 2 |
9 files changed, 76 insertions, 15 deletions
diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp index c6bd1c0..7fe849a 100644 --- a/src/docbookgen.cpp +++ b/src/docbookgen.cpp @@ -185,7 +185,7 @@ void DocbookCodeGenerator::startCodeLine(bool) } void DocbookCodeGenerator::endCodeLine() { - m_t << endl; + if (m_insideCodeLine) m_t << endl; Docbook_DB(("(endCodeLine)\n")); m_lineNumber = -1; m_refId.resize(0); @@ -243,7 +243,7 @@ void DocbookCodeGenerator::addWord(const char *,bool) } void DocbookCodeGenerator::finish() { - if (m_insideCodeLine) endCodeLine(); + endCodeLine(); } void DocbookCodeGenerator::startCodeFragment() { @@ -251,6 +251,9 @@ void DocbookCodeGenerator::startCodeFragment() } void DocbookCodeGenerator::endCodeFragment() { + //endCodeLine checks is there is still an open code line, if so closes it. + endCodeLine(); + m_t << "</computeroutput></literallayout>" << endl; } @@ -1007,6 +1010,9 @@ DB_GEN_C void DocbookGenerator::endCodeFragment() { DB_GEN_C + //endCodeLine checks is there is still an open code line, if so closes it. + endCodeLine(); + t << "</programlisting>"; } void DocbookGenerator::startMemberTemplateParams() diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 84a4900..c7fce01 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -5551,7 +5551,7 @@ static bool findGlobalMember(Entry *root, NamespaceDef *rnd = 0; if (!namespaceName.isEmpty()) rnd = Doxygen::namespaceSDict->find(namespaceName); - ArgumentList *mdAl = md->argumentList(); + const ArgumentList *mdAl = const_cast<const MemberDef *>(md)->argumentList(); bool matching= (mdAl==0 && root->argList->count()==0) || md->isVariable() || md->isTypedef() || /* in case of function pointers */ @@ -6721,10 +6721,10 @@ static void findMember(Entry *root, if (rmn) { MemberNameIterator rmni(*rmn); - MemberDef *rmd; + const MemberDef *rmd; while ((rmd=rmni.current()) && !found) // see if we got another member with matching arguments { - ArgumentList *rmdAl = rmd->argumentList(); + const ArgumentList *rmdAl = rmd->argumentList(); // check for matching argument lists if ( matchArguments2(rmd->getOuterScope(),rmd->getFileDef(),rmdAl, diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index d25dafc..b3abd09 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -57,6 +57,7 @@ static QCString g_header; static QCString g_footer; static QCString g_mathjax_code; +static bool DoxyCodeLineOpen = FALSE; // note: this is only active if DISABLE_INDEX=YES, if DISABLE_INDEX is disabled, this // part will be rendered inside menu.js @@ -530,7 +531,12 @@ void HtmlCodeGenerator::writeLineNumber(const char *ref,const char *filename, qsnprintf(lineNumber,maxLineNrStr,"%5d",l); qsnprintf(lineAnchor,maxLineNrStr,"l%05d",l); - m_t << "<div class=\"line\">"; + if (!DoxyCodeLineOpen) + { + m_t << "<div class=\"line\">"; + DoxyCodeLineOpen = TRUE; + } + m_t << "<a name=\"" << lineAnchor << "\"></a><span class=\"lineno\">"; if (filename) { @@ -661,12 +667,16 @@ void HtmlCodeGenerator::writeTooltip(const char *id, const DocLinkInfo &docInfo, } -void HtmlCodeGenerator::startCodeLine(bool hasLineNumbers) +void HtmlCodeGenerator::startCodeLine(bool) { if (m_streamSet) { - if (!hasLineNumbers) m_t << "<div class=\"line\">"; m_col=0; + if (!DoxyCodeLineOpen) + { + m_t << "<div class=\"line\">"; + DoxyCodeLineOpen = TRUE; + } } } @@ -679,7 +689,11 @@ void HtmlCodeGenerator::endCodeLine() m_t << " "; m_col++; } - m_t << "</div>"; + if (DoxyCodeLineOpen) + { + m_t << "</div>\n"; + DoxyCodeLineOpen = FALSE; + } } } @@ -2640,6 +2654,19 @@ void HtmlGenerator::endConstraintList() t << "</div>" << endl; } +void HtmlGenerator::startCodeFragment() +{ + t << PREFRAG_START; +} + +void HtmlGenerator::endCodeFragment() +{ + //endCodeLine checks is there is still an open code line, if so closes it. + endCodeLine(); + + t << PREFRAG_END; +} + void HtmlGenerator::lineBreak(const char *style) { if (style) diff --git a/src/htmlgen.h b/src/htmlgen.h index ebecc81..2db5b74 100644 --- a/src/htmlgen.h +++ b/src/htmlgen.h @@ -212,8 +212,8 @@ class HtmlGenerator : public OutputGenerator void writeRuler() { t << "<hr/>"; } void writeAnchor(const char *,const char *name) { t << "<a name=\"" << name <<"\" id=\"" << name << "\"></a>"; } - void startCodeFragment() { t << PREFRAG_START; } - void endCodeFragment() { t << PREFRAG_END; } + void startCodeFragment(); + void endCodeFragment(); void startEmphasis() { t << "<em>"; } void endEmphasis() { t << "</em>"; } void startBold() { t << "<b>"; } diff --git a/src/portable.cpp b/src/portable.cpp index e2bdf6e..3d64638 100644 --- a/src/portable.cpp +++ b/src/portable.cpp @@ -463,6 +463,7 @@ void portable_correct_path(void) { #if defined(_WIN32) && !defined(__CYGWIN__) const char *p = portable_getenv("PATH"); + if (!p) return; // no path nothing to correct QCString result = substitute(p,'/','\\'); if (result!=p) portable_setenv("PATH",result.data()); #endif diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp index 8139784..2f24ca7 100644 --- a/src/rtfgen.cpp +++ b/src/rtfgen.cpp @@ -48,6 +48,8 @@ #include "filename.h" #include "namespacedef.h" +static bool DoxyCodeLineOpen = FALSE; + //#define DBG_RTF(x) x; #define DBG_RTF(x) @@ -1952,6 +1954,9 @@ void RTFGenerator::endCodeFragment() //styleStack.pop(); //printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top()); //t << rtf_Style_Reset << styleStack.top() << endl; + //endCodeLine checks is there is still an open code line, if so closes it. + endCodeLine(); + DBG_RTF(t << "{\\comment (endCodeFragment) }" << endl) t << "}" << endl; m_omitParagraph = TRUE; @@ -3041,6 +3046,22 @@ void RTFGenerator::endInlineMemberDoc() t << "\\cell }{\\row }" << endl; } +void RTFGenerator::writeLineNumber(const char *,const char *,const char *,int l) +{ + DoxyCodeLineOpen = TRUE; + t << QString("%1").arg(l,5) << " "; +} +void RTFGenerator::startCodeLine(bool) +{ + DoxyCodeLineOpen = TRUE; + col=0; +} +void RTFGenerator::endCodeLine() +{ + if (DoxyCodeLineOpen) lineBreak(); + DoxyCodeLineOpen = FALSE; +} + void RTFGenerator::startLabels() { } diff --git a/src/rtfgen.h b/src/rtfgen.h index fe3e753..b5f06f0 100644 --- a/src/rtfgen.h +++ b/src/rtfgen.h @@ -127,9 +127,9 @@ class RTFGenerator : public OutputGenerator void writeAnchor(const char *fileName,const char *name); void startCodeFragment(); void endCodeFragment(); - void writeLineNumber(const char *,const char *,const char *,int l) { t << QString("%1").arg(l,5) << " "; } - void startCodeLine(bool) { col=0; } - void endCodeLine() { lineBreak(); } + void writeLineNumber(const char *,const char *,const char *,int l); + void startCodeLine(bool); + void endCodeLine(); void startEmphasis() { t << "{\\i "; } void endEmphasis() { t << "}"; } void startBold() { t << "{\\b "; } diff --git a/src/sqlite3gen.cpp b/src/sqlite3gen.cpp index 9805d7f..5a8e81d 100644 --- a/src/sqlite3gen.cpp +++ b/src/sqlite3gen.cpp @@ -2009,7 +2009,11 @@ static void generateSqlite3ForClass(const ClassDef *cd) if (nm.isEmpty() && ii->fileDef) nm = ii->fileDef->docName(); if (!nm.isEmpty()) { - int header_id=insertPath(ii->fileDef->absFilePath(),!ii->fileDef->isReference()); + int header_id=-1; + if (ii->fileDef) + { + insertPath(ii->fileDef->absFilePath(),!ii->fileDef->isReference()); + } DBG_CTX(("-----> ClassDef includeInfo for %s\n", nm.data())); DBG_CTX((" local : %d\n", ii->local)); DBG_CTX((" imported : %d\n", ii->imported)); diff --git a/src/util.cpp b/src/util.cpp index 25a1d66..8b547a6 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -5479,6 +5479,8 @@ QCString escapeCharsInString(const char *name,bool allowDots,bool allowUnderscor case '$': growBuf.addStr("_0b"); break; case '\\': growBuf.addStr("_0c"); break; case '@': growBuf.addStr("_0d"); break; + case ']': growBuf.addStr("_0e"); break; + case '[': growBuf.addStr("_0f"); break; default: if (c<0) { |