diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a0e8863..a6f8a4f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ - Bugfix: Fixed the reconnection backoff accidentally resetting when thrown out of certain IRC servers. (#3328) - Bugfix: Fixed underlying text from disabled emotes not being colorized properly. (#3333) - Bugfix: Fixed IRC ACTION messages (/me) not being colorized properly. (#3341) +- Bugfix: Fixed splits losing filters when closing and reopening them (#3351) - Bugfix: Fixed the first usercard being broken in `/mods` and `/vips` (#3349) - Dev: Add GitHub action to test builds without precompiled headers enabled. (#3327) - Dev: Renamed CMake's build option `USE_SYSTEM_QT5KEYCHAIN` to `USE_SYSTEM_QTKEYCHAIN`. (#3103) diff --git a/src/widgets/Window.cpp b/src/widgets/Window.cpp index 7233e735..1f4fd4e7 100644 --- a/src/widgets/Window.cpp +++ b/src/widgets/Window.cpp @@ -399,6 +399,7 @@ void Window::addShortcuts() Split *split = new Split(splitContainer); split->setChannel( getApp()->twitch.server->getOrAddChannel(si.channelName)); + split->setFilters(si.filters); splitContainer->appendSplit(split); }); diff --git a/src/widgets/splits/ClosedSplits.hpp b/src/widgets/splits/ClosedSplits.hpp index 59c9d659..079b74f8 100644 --- a/src/widgets/splits/ClosedSplits.hpp +++ b/src/widgets/splits/ClosedSplits.hpp @@ -3,6 +3,7 @@ #include "common/Channel.hpp" #include "widgets/helper/NotebookTab.hpp" +#include #include #include #include @@ -14,6 +15,7 @@ class ClosedSplits public: struct SplitInfo { QString channelName; + QList filters; NotebookTab *tab; // non owning ptr }; diff --git a/src/widgets/splits/SplitContainer.cpp b/src/widgets/splits/SplitContainer.cpp index 78325c32..1ada39ee 100644 --- a/src/widgets/splits/SplitContainer.cpp +++ b/src/widgets/splits/SplitContainer.cpp @@ -255,7 +255,8 @@ void SplitContainer::addSplit(Split *split) tab->connect(tab, &QWidget::destroyed, [tab]() mutable { ClosedSplits::invalidateTab(tab); }); - ClosedSplits::push({split->getChannel()->getName(), tab}); + ClosedSplits::push({split->getChannel()->getName(), + split->getFilters(), tab}); } break;