diff --git a/libnymea-app/energy/energylogs.cpp b/libnymea-app/energy/energylogs.cpp index 1ee40248..6b2f1480 100644 --- a/libnymea-app/energy/energylogs.cpp +++ b/libnymea-app/energy/energylogs.cpp @@ -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(); } diff --git a/libnymea-app/energy/energylogs.h b/libnymea-app/energy/energylogs.h index c2600b28..2662668e 100644 --- a/libnymea-app/energy/energylogs.h +++ b/libnymea-app/energy/energylogs.h @@ -49,7 +49,7 @@ public: Q_ENUM(SampleRate) explicit EnergyLogs(QObject *parent = nullptr); - ~EnergyLogs(); + virtual ~EnergyLogs(); Engine *engine() const; void setEngine(Engine *engine);