From b78f357efc3cb69a2da21a30a00430ade239649c Mon Sep 17 00:00:00 2001 From: Rasmus Karlsson Date: Wed, 11 Apr 2018 01:06:13 +0200 Subject: [PATCH] Ensure we disconnect from signals on exit in SplitHeader --- src/widgets/helper/splitheader.cpp | 4 ++-- src/widgets/helper/splitheader.hpp | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/widgets/helper/splitheader.cpp b/src/widgets/helper/splitheader.cpp index e4f9dc0e..f6786302 100644 --- a/src/widgets/helper/splitheader.cpp +++ b/src/widgets/helper/splitheader.cpp @@ -136,9 +136,9 @@ void SplitHeader::initializeChannelSignals() TwitchChannel *twitchChannel = dynamic_cast(channel.get()); if (twitchChannel) { - twitchChannel->updateLiveInfo.connect([this]() { + this->managedConnections.emplace_back(twitchChannel->updateLiveInfo.connect([this]() { this->updateChannelText(); // - }); + })); } } diff --git a/src/widgets/helper/splitheader.hpp b/src/widgets/helper/splitheader.hpp index 80d81ab5..e4095eae 100644 --- a/src/widgets/helper/splitheader.hpp +++ b/src/widgets/helper/splitheader.hpp @@ -14,6 +14,9 @@ #include #include #include +#include + +#include namespace chatterino { namespace widgets { @@ -64,6 +67,8 @@ private: QString tooltip; bool isLive; + std::vector managedConnections; + public slots: void addDropdownItems(RippleEffectButton *label);