diff --git a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp index d925fdd628..edab065f92 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp @@ -1395,14 +1395,15 @@ void AddRegistrationOrCreationButton(const not_null fitLabelToButton(registrationDateButton, idInfo.subtext, rightSkip); registrationDateButton->setClickedCallback([=, show = controller->uiShow()] { + const auto weak = QPointer(registrationDateButton); getRegistrationDate( peer, [=](const TextWithEntities &result) { - if (result.empty()) { + if (result.empty() || !weak) { return; } - const auto parent = registrationDateButton->window(); + const auto parent = weak->window(); const auto tooltip = Ui::CreateChild( parent, Ui::MakeNiceTooltipLabel( @@ -1415,8 +1416,8 @@ void AddRegistrationOrCreationButton(const not_null const auto geometry = Ui::MapFrom( parent, - registrationDateButton, - registrationDateButton->rect()); + weak.data(), + weak->rect()); const auto countPosition = [=](QSize size) { const auto left = geometry.x() @@ -1429,22 +1430,22 @@ void AddRegistrationOrCreationButton(const not_null }; tooltip->pointAt(geometry, RectPart::Top, countPosition); - const auto weak = QPointer(tooltip); - tooltip->setHiddenCallback([weak] + const auto weakTooltip = QPointer(tooltip); + tooltip->setHiddenCallback([weakTooltip] { - if (weak) { - weak->deleteLater(); + if (weakTooltip) { + weakTooltip->deleteLater(); } }); base::install_event_filter( tooltip, qApp, - [weak](not_null e) + [weakTooltip](not_null e) { if (e->type() == QEvent::MouseButtonPress) { - if (weak) { - weak->toggleAnimated(false); + if (weakTooltip) { + weakTooltip->toggleAnimated(false); } } return base::EventFilterResult::Continue;