Skip to content

Commit

Permalink
fix: global emotes not loading (#5435)
Browse files Browse the repository at this point in the history
* fix: manually initialize twitchircserver after rest of singletons are initialized

this fixes global emotes not being loaded on startup, since initialize
was never called (since it was no longer added to the singleton list)

* unrelated nit: remove copy/move ctors/operators of twitchircserver
  • Loading branch information
pajlada authored Jun 3, 2024
1 parent d00cadf commit 248cd46
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 7 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
- Dev: Add doxygen build target. (#5377)
- Dev: Make printing of strings in tests easier. (#5379)
- Dev: Refactor and document `Scrollbar`. (#5334, #5393)
- Dev: Refactor `TwitchIrcServer`, making it abstracted. (#5421)
- Dev: Refactor `TwitchIrcServer`, making it abstracted. (#5421, #5435)
- Dev: Reduced the amount of scale events. (#5404, #5406)
- Dev: Removed unused timegate settings. (#5361)
- Dev: All Lua globals now show in the `c2` global in the LuaLS metadata. (#5385)
Expand Down
2 changes: 2 additions & 0 deletions src/Application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ void Application::initialize(Settings &settings, const Paths &paths)
singleton->initialize(settings, paths);
}

this->twitch->initialize();

// XXX: Loading Twitch badges after Helix has been initialized, which only happens after
// the AccountController initialize has been called
this->twitchBadges->loadTwitchBadges();
Expand Down
2 changes: 1 addition & 1 deletion src/providers/twitch/TwitchIrcServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ TwitchIrcServer::TwitchIrcServer()
// false);
}

void TwitchIrcServer::initialize(Settings &settings, const Paths &paths)
void TwitchIrcServer::initialize()
{
getIApp()->getAccounts()->twitch.currentUserChanged.connect([this]() {
postToThread([this] {
Expand Down
12 changes: 7 additions & 5 deletions src/providers/twitch/TwitchIrcServer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include "common/Atomic.hpp"
#include "common/Channel.hpp"
#include "common/Singleton.hpp"
#include "providers/irc/AbstractIrcServer.hpp"

#include <pajlada/signals/signalholder.hpp>
Expand Down Expand Up @@ -52,15 +51,18 @@ class ITwitchIrcServer
// Update this interface with TwitchIrcServer methods as needed
};

class TwitchIrcServer final : public AbstractIrcServer,
public Singleton,
public ITwitchIrcServer
class TwitchIrcServer final : public AbstractIrcServer, public ITwitchIrcServer
{
public:
TwitchIrcServer();
~TwitchIrcServer() override = default;

void initialize(Settings &settings, const Paths &paths) override;
TwitchIrcServer(const TwitchIrcServer &) = delete;
TwitchIrcServer(TwitchIrcServer &&) = delete;
TwitchIrcServer &operator=(const TwitchIrcServer &) = delete;
TwitchIrcServer &operator=(TwitchIrcServer &&) = delete;

void initialize();

void forEachChannelAndSpecialChannels(
std::function<void(ChannelPtr)> func) override;
Expand Down

0 comments on commit 248cd46

Please sign in to comment.