diff options
Diffstat (limited to 'src/xmlcomposer.cpp')
-rw-r--r-- | src/xmlcomposer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/xmlcomposer.cpp b/src/xmlcomposer.cpp index e642acb..93bd8f3 100644 --- a/src/xmlcomposer.cpp +++ b/src/xmlcomposer.cpp @@ -72,8 +72,11 @@ XmlComposer::~XmlComposer() void XmlComposer::clear() { - m_document = NULL; LevelHandler::clear(); + + // Make sure not to release document until we're + // done with all the nodes + m_document = NULL; } @@ -114,12 +117,12 @@ void XmlComposer::endDocument() XmlFixups fix; // Pass 1: Block breakout - /* fix.breakTables(m_document); + fix.breakTables(m_document); fix.breakTags(m_document, kElTable, kElRow); fix.breakTags(m_document, kElRow, kElCell); fix.wrapTags(m_document, kElCell, kElDest); fix.breakBlocks(m_document); - fix.breakLists(m_document); */ + fix.breakLists(m_document); // Pass 2: Fixups fix.runPassTwo(m_document); @@ -1202,7 +1205,7 @@ ON_CHARDATA(Attribute) // Append data if(data.at(data.size() - 1) == L';') - cur.append(data.substr(data.size() - 1)); + cur.append(data.substr(0, data.size() - 1)); else cur.append(data); |