From 55ca9c847c2a183e1382a2b7f3f7bcfe7cdc852f Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Tue, 24 Nov 2020 22:10:11 +0100 Subject: Fixed potential crash when cleaning up --- src/definition.cpp | 12 ++++++------ 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 -- cgit v0.12