summaryrefslogtreecommitdiffstats
path: root/src/tagreader.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2003-01-06 20:54:16 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2003-01-06 20:54:16 (GMT)
commitf781e6dbbaa51edbdbe9b5906be9962968d0ee68 (patch)
treeb008f56412d0734ea397eb4492ddd66c08677dff /src/tagreader.cpp
parentdfa656f3404e589ad59c47dc1728744efb245a82 (diff)
downloadDoxygen-f781e6dbbaa51edbdbe9b5906be9962968d0ee68.zip
Doxygen-f781e6dbbaa51edbdbe9b5906be9962968d0ee68.tar.gz
Doxygen-f781e6dbbaa51edbdbe9b5906be9962968d0ee68.tar.bz2
Release-1.3-rc2-20030106
Diffstat (limited to 'src/tagreader.cpp')
-rw-r--r--src/tagreader.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/tagreader.cpp b/src/tagreader.cpp
index 1637044..8302eb5 100644
--- a/src/tagreader.cpp
+++ b/src/tagreader.cpp
@@ -186,6 +186,8 @@ class TagFileParser : public QXmlDefaultHandler
m_endElementHandlers(17),
m_tagName(tagName)
{
+ m_startElementHandlers.setAutoDelete(TRUE);
+ m_endElementHandlers.setAutoDelete(TRUE);
}
void startCompound( const QXmlAttributes& attrib )
@@ -305,7 +307,8 @@ class TagFileParser : public QXmlDefaultHandler
void endMember()
{
- m_state = *m_stateStack.pop();
+ m_state = *m_stateStack.top();
+ m_stateStack.remove();
switch(m_state)
{
case InClass: m_curClass->members.append(m_curMember); break;
@@ -884,6 +887,7 @@ void TagFileParser::buildMemberList(Entry *ce,QList<TagMemberInfo> &members)
me->args = tmi->arglist;
if (!me->args.isEmpty())
{
+ delete me->argList;
me->argList = new ArgumentList;
stringToArgumentList(me->args,me->argList);
}
@@ -1006,11 +1010,16 @@ void TagFileParser::buildLists(Entry *root)
// transfer base class list
if (tci->bases)
{
+ delete ce->extends;
ce->extends = tci->bases; tci->bases = 0;
}
if (tci->templateArguments)
{
- if (ce->tArgLists==0) ce->tArgLists = new QList<ArgumentList>;
+ if (ce->tArgLists==0)
+ {
+ ce->tArgLists = new QList<ArgumentList>;
+ ce->tArgLists->setAutoDelete(TRUE);
+ }
ArgumentList *al = new ArgumentList;
ce->tArgLists->append(al);