fix: crash when searching uninitialized channel (#6057)

Fixes a crash when opening search in a split that hasn't yet been fully
initialized
This commit is contained in:
pajlada
2025-03-09 20:09:46 +01:00
committed by GitHub
parent 8fefcee847
commit 673ce8eecf
3 changed files with 8 additions and 7 deletions
+1
View File
@@ -40,6 +40,7 @@
- Bugfix: Fixed the input font not immediately updating when zooming in/out. (#5960)
- Bugfix: Fixed missing special shortcut for Windows live notifications. (#5975)
- Bugfix: Fixed color input thinking blue is also red. (#5982)
- Bugfix: Fixed a crash that would occurr if the user tried to open the search popup in an uninitialized split. (#6057)
- Bugfix: Fixed an issue where commands would sometimes reset if Chatterino was improperly shut down. (#6011)
- Bugfix: Fixed a thick border on Windows 11. (#5836)
- Bugfix: Fixed some windows not immediately closing. (#6054)
+5 -5
View File
@@ -299,6 +299,7 @@ ChannelView::ChannelView(QWidget *parent, Split *split, Context context,
ChannelView::ChannelView(InternalCtor /*tag*/, QWidget *parent, Split *split,
Context context, size_t messagesLimit)
: BaseWidget(parent)
, channel_(Channel::getEmpty())
, split_(split)
, scrollBar_(new Scrollbar(messagesLimit, this))
, highlightAnimation_(this)
@@ -903,8 +904,10 @@ LimitedQueueSnapshot<MessageLayoutPtr> &ChannelView::getMessagesSnapshot()
return this->snapshot_;
}
ChannelPtr ChannelView::channel()
ChannelPtr ChannelView::channel() const
{
assert(this->channel_ != nullptr);
return this->channel_;
}
@@ -3194,10 +3197,7 @@ bool ChannelView::canReplyToMessages() const
return false;
}
if (this->channel_ == nullptr)
{
return false;
}
assert(this->channel_ != nullptr);
if (!this->channel_->isTwitchChannel())
{
+2 -2
View File
@@ -145,7 +145,7 @@ public:
/// nor IrcChannel.
/// It's **not** equal to the channel passed in #setChannel().
/// @see #underlyingChannel()
ChannelPtr channel();
ChannelPtr channel() const;
/// @brief The channel this view displays messages for
///
@@ -359,7 +359,7 @@ private:
/// screen and will always be a @a Channel, or, it will never be a
/// TwitchChannel or IrcChannel, however, it will have the same type and
/// name as @a underlyingChannel_. It's not know to any registry/server.
ChannelPtr channel_ = nullptr;
ChannelPtr channel_;
/// @brief The channel receiving messages
///