fixed some concurrency issues
This commit is contained in:
+8
-4
@@ -289,10 +289,14 @@ void Application::initPubsub()
|
||||
QString channelId;
|
||||
if (rj::getSafe(data, "channel_id", channelId))
|
||||
{
|
||||
const auto &chan =
|
||||
this->twitch.server->getChannelOrEmptyByID(channelId);
|
||||
auto channel = dynamic_cast<TwitchChannel *>(chan.get());
|
||||
channel->addChannelPointReward(ChannelPointReward(data));
|
||||
auto chan = this->twitch.server->getChannelOrEmptyByID(channelId);
|
||||
|
||||
auto reward = ChannelPointReward(data);
|
||||
|
||||
postToThread([chan, reward] {
|
||||
auto channel = dynamic_cast<TwitchChannel *>(chan.get());
|
||||
channel->addChannelPointReward(reward);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -98,6 +98,7 @@ public:
|
||||
/// signals.
|
||||
int append(const T &item, void *caller = nullptr)
|
||||
{
|
||||
assertInGuiThread();
|
||||
return this->insert(item, -1, caller);
|
||||
}
|
||||
|
||||
|
||||
@@ -237,6 +237,8 @@ void TwitchChannel::refreshFFZChannelEmotes(bool manualRefresh)
|
||||
|
||||
void TwitchChannel::addChannelPointReward(const ChannelPointReward &reward)
|
||||
{
|
||||
assertInGuiThread();
|
||||
|
||||
if (!reward.hasParsedSuccessfully)
|
||||
{
|
||||
return;
|
||||
|
||||
@@ -34,7 +34,9 @@ ConcurrentSettings::ConcurrentSettings()
|
||||
|
||||
bool ConcurrentSettings::isHighlightedUser(const QString &username)
|
||||
{
|
||||
for (const auto &highlightedUser : this->highlightedUsers)
|
||||
auto items = this->highlightedUsers.readOnly();
|
||||
|
||||
for (const auto &highlightedUser : *items)
|
||||
{
|
||||
if (highlightedUser.isMatch(username))
|
||||
return true;
|
||||
@@ -58,7 +60,9 @@ bool ConcurrentSettings::isBlacklistedUser(const QString &username)
|
||||
|
||||
bool ConcurrentSettings::isMutedChannel(const QString &channelName)
|
||||
{
|
||||
for (const auto &channel : this->mutedChannels)
|
||||
auto items = this->mutedChannels.readOnly();
|
||||
|
||||
for (const auto &channel : *items)
|
||||
{
|
||||
if (channelName.toLower() == channel.toLower())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user