From 9fde1e7473b0c7bc3f43e94d125ed3fd5a6ab78b Mon Sep 17 00:00:00 2001 From: Boernsman Date: Thu, 29 Apr 2021 11:34:54 +0200 Subject: [PATCH] fixed crash on plugin constructor --- energymeters/integrationpluginenergymeters.cpp | 8 +++++--- energymeters/integrationpluginenergymeters.h | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/energymeters/integrationpluginenergymeters.cpp b/energymeters/integrationpluginenergymeters.cpp index f00aa32..b0d85fc 100644 --- a/energymeters/integrationpluginenergymeters.cpp +++ b/energymeters/integrationpluginenergymeters.cpp @@ -88,9 +88,11 @@ IntegrationPluginEnergyMeters::IntegrationPluginEnergyMeters() m_registerMaps.insert(pro380ThingClassId, pro380RegisterMap); m_registerMaps.insert(sdm630ThingClassId, sdm630RegisterMap); +} - // FIXME leads to crash, probably an issue in the modbus rtu resource - /*connect(hardwareManager()->modbusRtuResource(), &ModbusRtuHardwareResource::modbusRtuMasterRemoved, this, [=] (const QUuid &modbusUuid){ +void IntegrationPluginEnergyMeters::init() +{ + connect(hardwareManager()->modbusRtuResource(), &ModbusRtuHardwareResource::modbusRtuMasterRemoved, this, [=] (const QUuid &modbusUuid){ qCDebug(dcEnergyMeters()) << "Modbus RTU master has been removed" << modbusUuid.toString(); // Check if there is any device using this resource @@ -104,7 +106,7 @@ IntegrationPluginEnergyMeters::IntegrationPluginEnergyMeters() thing->setStateValue(m_connectionStateTypeIds[thing->thingClassId()], false); } } - }); */ + }); } void IntegrationPluginEnergyMeters::discoverThings(ThingDiscoveryInfo *info) diff --git a/energymeters/integrationpluginenergymeters.h b/energymeters/integrationpluginenergymeters.h index 89e0e9c..1764b44 100644 --- a/energymeters/integrationpluginenergymeters.h +++ b/energymeters/integrationpluginenergymeters.h @@ -49,7 +49,7 @@ class IntegrationPluginEnergyMeters : public IntegrationPlugin public: explicit IntegrationPluginEnergyMeters(); - + void init() override; void discoverThings(ThingDiscoveryInfo *info) override; void setupThing(ThingSetupInfo *info) override; void postSetupThing(Thing *thing) override;