Merge PR #770: Fix a potential crash in Energy logs when disconnecting older setups

pull/773/head
Jenkins nymea 2022-02-18 12:13:57 +01:00
commit e8a1773b70
2 changed files with 9 additions and 8 deletions

View File

@ -48,16 +48,17 @@ void EnergyLogs::setEngine(Engine *engine)
if (!m_engine) {
return;
}
connect(engine, &Engine::destroyed, this, [=](){
if (engine == m_engine) {
m_engine = nullptr;
emit engineChanged();
}
});
if (m_engine->jsonRpcClient()->experiences().value("Energy").toString() >= "1.0") {
m_engine->jsonRpcClient()->registerNotificationHandler(this, "Energy", "notificationReceivedInternal");
connect(engine, &Engine::destroyed, this, [=](){
if (engine == m_engine) {
m_engine = nullptr;
emit engineChanged();
}
});
if (m_ready && !m_loadingInhibited) {
fetchLogs();
}

View File

@ -49,7 +49,7 @@ public:
Q_ENUM(SampleRate)
explicit EnergyLogs(QObject *parent = nullptr);
~EnergyLogs();
virtual ~EnergyLogs();
Engine *engine() const;
void setEngine(Engine *engine);