diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-24 21:10:11 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-24 21:10:11 (GMT) |
commit | 55ca9c847c2a183e1382a2b7f3f7bcfe7cdc852f (patch) | |
tree | ca18b63f98e3865a8f344d2e18bd6ddf00115289 | |
parent | 72182bd64a53f9829d564c39d55900ac43f39bdf (diff) | |
download | Doxygen-55ca9c847c2a183e1382a2b7f3f7bcfe7cdc852f.zip Doxygen-55ca9c847c2a183e1382a2b7f3f7bcfe7cdc852f.tar.gz Doxygen-55ca9c847c2a183e1382a2b7f3f7bcfe7cdc852f.tar.bz2 |
Fixed potential crash when cleaning up
-rw-r--r-- | src/definition.cpp | 12 | ||||
-rw-r--r-- | src/definitionimpl.h | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/definition.cpp b/src/definition.cpp index 8b6e6fa..615506f 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -233,9 +233,9 @@ static void addToMap(const char *name,Definition *d) } } -static void removeFromMap(Definition *d) +static void removeFromMap(const char *name,Definition *d) { - Doxygen::symbolMap.remove(d->_symbolName(),d); + Doxygen::symbolMap.remove(name,d); } DefinitionImpl::DefinitionImpl(Definition *def, @@ -301,7 +301,7 @@ DefinitionImpl::~DefinitionImpl() { if (m_impl->isSymbol) { - removeFromMap(m_impl->def); + removeFromMap(m_impl->symbolName,m_impl->def); } if (m_impl) { @@ -2179,7 +2179,7 @@ void DefinitionImpl::writeSummaryLinks(OutputList &) const //--------------------------------------------------------------------------------- DefinitionAliasImpl::DefinitionAliasImpl(Definition *def,const Definition *alias) - : m_def(def), m_alias(alias) + : m_def(def), m_symbolName(alias->_symbolName()) { } @@ -2190,12 +2190,12 @@ DefinitionAliasImpl::~DefinitionAliasImpl() void DefinitionAliasImpl::init() { //printf("%s::addToMap(%s)\n",qPrint(name()),qPrint(alias->name())); - addToMap(m_alias->name(),m_def); + addToMap(m_symbolName,m_def); } void DefinitionAliasImpl::deinit() { - removeFromMap(m_def); + removeFromMap(m_symbolName,m_def); } //--------------------------------------------------------------------------------- diff --git a/src/definitionimpl.h b/src/definitionimpl.h index 0c2f713..710611e 100644 --- a/src/definitionimpl.h +++ b/src/definitionimpl.h @@ -298,7 +298,7 @@ class DefinitionAliasImpl void deinit(); private: Definition *m_def; - const Definition *m_alias; + QCString m_symbolName; }; template<class Base> |