From 5aab424a6a74e2c999c9558902af4e3985eeb9dc Mon Sep 17 00:00:00 2001 From: nerix Date: Sat, 4 Jan 2025 12:10:16 +0100 Subject: [PATCH] fix: check application in 7TV event-api (#5768) --- CHANGELOG.md | 1 + src/providers/seventv/SeventvEventAPI.cpp | 24 ++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07ec4576..66e184bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unversioned +- Bugfix: Fixed a crash in the 7TV EventApi when closing Chatterino. (#5768) - Bugfix: Fixed scrollbar highlights being visible in overlay windows. (#5769) - Bugfix: Make macos fonts look the same as v2.5.1. (#5775) - Bugfix: Fixed 7TV usernames messing with Qt's HTML (#5780) diff --git a/src/providers/seventv/SeventvEventAPI.cpp b/src/providers/seventv/SeventvEventAPI.cpp index 41f21963..bec8ab5f 100644 --- a/src/providers/seventv/SeventvEventAPI.cpp +++ b/src/providers/seventv/SeventvEventAPI.cpp @@ -363,7 +363,13 @@ void SeventvEventAPI::onUserUpdate(const Dispatch &dispatch) void SeventvEventAPI::onCosmeticCreate(const CosmeticCreateDispatch &cosmetic) { - auto *badges = getApp()->getSeventvBadges(); + auto *app = tryGetApp(); + if (!app) + { + return; // shutting down + } + + auto *badges = app->getSeventvBadges(); switch (cosmetic.kind) { case CosmeticKind::Badge: { @@ -378,7 +384,13 @@ void SeventvEventAPI::onCosmeticCreate(const CosmeticCreateDispatch &cosmetic) void SeventvEventAPI::onEntitlementCreate( const EntitlementCreateDeleteDispatch &entitlement) { - auto *badges = getApp()->getSeventvBadges(); + auto *app = tryGetApp(); + if (!app) + { + return; // shutting down + } + + auto *badges = app->getSeventvBadges(); switch (entitlement.kind) { case CosmeticKind::Badge: { @@ -394,7 +406,13 @@ void SeventvEventAPI::onEntitlementCreate( void SeventvEventAPI::onEntitlementDelete( const EntitlementCreateDeleteDispatch &entitlement) { - auto *badges = getApp()->getSeventvBadges(); + auto *app = tryGetApp(); + if (!app) + { + return; // shutting down + } + + auto *badges = app->getSeventvBadges(); switch (entitlement.kind) { case CosmeticKind::Badge: {