terminate and unsubscribe during destruction
This commit is contained in:
parent
3ea916d61e
commit
76582b1cc4
|
@ -23,6 +23,21 @@ QSacnNode::QSacnNode(QObject *parent, QUuid cid)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief QSacnNode::~QSacnNode
|
||||
*/
|
||||
QSacnNode::~QSacnNode()
|
||||
{
|
||||
auto rx_list = rx_universes.keys();
|
||||
for (const auto & num : rx_list)
|
||||
QSacnNode::unsubscribe(num);
|
||||
|
||||
auto tx_list = tx_universes.keys();
|
||||
for (const auto & num : tx_list)
|
||||
QSacnNode::terminate(num);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief QSacnNode::subscribe
|
||||
* @param num
|
||||
|
|
|
@ -21,6 +21,7 @@ class QT_EXPORT QSacnNode
|
|||
|
||||
public:
|
||||
explicit QSacnNode(QObject *parent = nullptr, QUuid = QUuid::createUuid());
|
||||
~QSacnNode();
|
||||
|
||||
// rlp component
|
||||
void rlpSend(const ACN::PDU::Stream, const ACN::SDT::UDP::ipAddress&) override;
|
||||
|
|
|
@ -51,8 +51,8 @@ Receiver::Receiver(UUID::uuid cid)
|
|||
*/
|
||||
Receiver::~Receiver()
|
||||
{
|
||||
for (auto& [_, universe] : universes_)
|
||||
delete universe;
|
||||
for (auto& [num, _] : universes_)
|
||||
Receiver::unsubscribe(num);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -44,6 +44,9 @@ Source::~Source()
|
|||
{
|
||||
discovery_exitSignal_.set_value();
|
||||
discovery_worker_.join();
|
||||
|
||||
for (const auto & [_, univ] : universes_)
|
||||
delete univ;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue