Fix crash in topic links opening.

This commit is contained in:
John Preston 2025-07-01 14:39:28 +04:00
parent 44810f95a5
commit 7e8a152eef

View file

@ -679,6 +679,7 @@ void ChatWidget::setTopic(Data::ForumTopic *topic) {
_topic = topic; _topic = topic;
refreshReplies(); refreshReplies();
refreshTopBarActiveChat(); refreshTopBarActiveChat();
validateSubsectionTabs();
if (_topic) { if (_topic) {
if (_repliesRootView) { if (_repliesRootView) {
_shownPinnedItem = nullptr; _shownPinnedItem = nullptr;
@ -1555,7 +1556,8 @@ void ChatWidget::validateSubsectionTabs() {
validateSubsectionTabs(); validateSubsectionTabs();
}); });
} }
if (!HistoryView::SubsectionTabs::UsedFor(_history)) { const auto thread = _topic ? (Data::Thread*)_topic : _sublist;
if (!thread || !HistoryView::SubsectionTabs::UsedFor(_history)) {
if (_subsectionTabs) { if (_subsectionTabs) {
_subsectionTabsLifetime.destroy(); _subsectionTabsLifetime.destroy();
_subsectionTabs = nullptr; _subsectionTabs = nullptr;
@ -1572,7 +1574,6 @@ void ChatWidget::validateSubsectionTabs() {
} else if (_subsectionTabs) { } else if (_subsectionTabs) {
return; return;
} }
const auto thread = _topic ? (Data::Thread*)_topic : _sublist;
_subsectionTabs = controller()->restoreSubsectionTabsFor(this, thread); _subsectionTabs = controller()->restoreSubsectionTabsFor(this, thread);
if (!_subsectionTabs) { if (!_subsectionTabs) {
_subsectionTabs = std::make_unique<HistoryView::SubsectionTabs>( _subsectionTabs = std::make_unique<HistoryView::SubsectionTabs>(