diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-01-06 20:54:16 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-01-06 20:54:16 (GMT) |
commit | be32faf9e70cecf7583687c1ce875071abd99005 (patch) | |
tree | b008f56412d0734ea397eb4492ddd66c08677dff /src/tagreader.cpp | |
parent | ee8c5a59f9dce7e770d315f08af410b1ac5ab9c4 (diff) | |
download | Doxygen-be32faf9e70cecf7583687c1ce875071abd99005.zip Doxygen-be32faf9e70cecf7583687c1ce875071abd99005.tar.gz Doxygen-be32faf9e70cecf7583687c1ce875071abd99005.tar.bz2 |
Release-1.3-rc2-20030106
Diffstat (limited to 'src/tagreader.cpp')
-rw-r--r-- | src/tagreader.cpp | 13 |
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); |