Fix adding bot as admin to channel.

This commit is contained in:
John Preston 2024-05-30 16:41:51 +04:00
parent 28cbb02b20
commit 0527e9a0f7

View file

@ -192,20 +192,27 @@ void ShowAddParticipantsError(
&& channel && channel
&& !channel->isMegagroup() && !channel->isMegagroup()
&& channel->canAddAdmins()) { && channel->canAddAdmins()) {
const auto makeAdmin = [=] { const auto makeAdmin = [=](Fn<void()> close) {
const auto user = forbidden.users.front(); const auto user = forbidden.users.front();
const auto weak = std::make_shared<QPointer<EditAdminBox>>(); const auto weak = std::make_shared<QPointer<EditAdminBox>>();
const auto close = [=](auto&&...) { const auto done = [=](auto&&...) {
if (*weak) { if (const auto strong = weak->data()) {
(*weak)->closeBox(); strong->uiShow()->showToast(
tr::lng_box_done(tr::now));
strong->closeBox();
}
};
const auto fail = [=] {
if (const auto strong = weak->data()) {
strong->closeBox();
} }
}; };
const auto saveCallback = SaveAdminCallback( const auto saveCallback = SaveAdminCallback(
show, show,
channel, channel,
user, user,
close, done,
close); fail);
auto box = Box<EditAdminBox>( auto box = Box<EditAdminBox>(
channel, channel,
user, user,
@ -214,6 +221,7 @@ void ShowAddParticipantsError(
box->setSaveCallback(saveCallback); box->setSaveCallback(saveCallback);
*weak = box.data(); *weak = box.data();
show->showBox(std::move(box)); show->showBox(std::move(box));
close();
}; };
show->showBox( show->showBox(
Ui::MakeConfirmBox({ Ui::MakeConfirmBox({