From f04c4c7388db9ef2c97904c0526c0bf9fd746332 Mon Sep 17 00:00:00 2001 From: pajlada Date: Sat, 31 Dec 2022 14:03:16 +0100 Subject: [PATCH] Fix crash that could occur when closing down the last of a channel when reloading emotes (#4278) * Fix crash that could occur when a channel is closed Ensure we copy the QString in case the channel goes out of scope and we're referring to nothing * Add changelog entry --- CHANGELOG.md | 3 ++- src/providers/bttv/BttvEmotes.cpp | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91a4b881918..48c75671d88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ - Bugfix: Fixed text sometimes not pasting properly when image uploader was disabled. (#4246) - Bugfix: Fixed text cursor(caret) not showing in open channel dialog. (#4196) - Bugfix: Fixed tooltip images not appearing if mouse hovered only first pixel. (#4268) -- Bugfix: Fixed crash that could occurr when closing down a split at the wrong time. (#4277) +- Bugfix: Fixed crash that could occur when closing down a split at the wrong time. (#4277) +- Bugfix: Fixed crash that could occur when closing down the last of a channel when reloading emotes. (#4278) - Dev: Remove protocol from QApplication's Organization Domain (so changed from `https://www.chatterino.com` to `chatterino.com`). (#4256) - Dev: Ignore `WM_SHOWWINDOW` hide events, causing fewer attempted rescales. (#4198) - Dev: Migrated to C++ 20 (#4252, #4257) diff --git a/src/providers/bttv/BttvEmotes.cpp b/src/providers/bttv/BttvEmotes.cpp index c84862c665f..fa25f733e92 100644 --- a/src/providers/bttv/BttvEmotes.cpp +++ b/src/providers/bttv/BttvEmotes.cpp @@ -169,8 +169,7 @@ void BttvEmotes::loadChannel(std::weak_ptr channel, { NetworkRequest(QString(bttvChannelEmoteApiUrl) + channelId) .timeout(20000) - .onSuccess([callback = std::move(callback), channel, - &channelDisplayName, + .onSuccess([callback = std::move(callback), channel, channelDisplayName, manualRefresh](auto result) -> Outcome { auto pair = parseChannelEmotes(result.parseJson(), channelDisplayName);