summaryrefslogtreecommitdiff
path: root/src/xmlcomposer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlcomposer.cpp')
-rw-r--r--src/xmlcomposer.cpp11
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);