Blob Blame History Raw
commit cfe381e3ee55b8291faeea55fe3b67bb9e545d60
Author: Vladimír Vondruš <mosra@centrum.cz>
Date:   Sat Dec 29 21:52:39 2018 +0100

    Properly handle empty TOC in XML output.
    
    Caused the test (079) to fail with a SIGSEGV, but larger projects exit
    with a success return code and the generated XML is either truncated or
    empty. Weird.

diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index bacf4d41..033e611f 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1818,10 +1818,10 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample)
     }
   }
   writeInnerPages(pd->getSubPages(),t);
-  if (pd->localToc().isXmlEnabled())
+  SectionDict *sectionDict = pd->getSectionDict();
+  if (pd->localToc().isXmlEnabled() && sectionDict)
   {
     t << "    <tableofcontents>" << endl;
-    SectionDict *sectionDict = pd->getSectionDict();
     SDict<SectionInfo>::Iterator li(*sectionDict);
     SectionInfo *si;
     int level=1,l;