forked from qt-creator/qt-creator
BareMetal: Fix crash on shutdown
Change-Id: I40c2381f5d70d57c8bb7b6d4727a5350a52eefc5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
d31ba1a60e
commit
0c6d5d6aed
@@ -83,6 +83,12 @@ void BareMetalDevice::setGdbServerProviderId(const QString &id)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BareMetalDevice::unregisterProvider(GdbServerProvider *provider)
|
||||||
|
{
|
||||||
|
if (provider->id() == m_gdbServerProviderId)
|
||||||
|
m_gdbServerProviderId.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void BareMetalDevice::providerUpdated(GdbServerProvider *provider)
|
void BareMetalDevice::providerUpdated(GdbServerProvider *provider)
|
||||||
{
|
{
|
||||||
GdbServerProvider *myProvider = GdbServerProviderManager::findProvider(m_gdbServerProviderId);
|
GdbServerProvider *myProvider = GdbServerProviderManager::findProvider(m_gdbServerProviderId);
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public:
|
|||||||
|
|
||||||
QString gdbServerProviderId() const;
|
QString gdbServerProviderId() const;
|
||||||
void setGdbServerProviderId(const QString &id);
|
void setGdbServerProviderId(const QString &id);
|
||||||
|
void unregisterProvider(GdbServerProvider *provider);
|
||||||
void providerUpdated(GdbServerProvider *provider);
|
void providerUpdated(GdbServerProvider *provider);
|
||||||
|
|
||||||
virtual void fromMap(const QVariantMap &map) override;
|
virtual void fromMap(const QVariantMap &map) override;
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ GdbServerProvider::~GdbServerProvider()
|
|||||||
{
|
{
|
||||||
const QSet<BareMetalDevice *> devices = m_devices;
|
const QSet<BareMetalDevice *> devices = m_devices;
|
||||||
for (BareMetalDevice *device : devices)
|
for (BareMetalDevice *device : devices)
|
||||||
device->setGdbServerProviderId(QString());
|
device->unregisterProvider(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString GdbServerProvider::displayName() const
|
QString GdbServerProvider::displayName() const
|
||||||
|
|||||||
Reference in New Issue
Block a user