mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-14 13:17:08 +02:00
Fixed crash on restricting users from moderation box.
This commit is contained in:
parent
129d356909
commit
a866ba8cdd
1 changed files with 25 additions and 17 deletions
|
@ -678,24 +678,32 @@ void CreateModerateMessagesBox(
|
|||
Ui::AddSkip(container);
|
||||
container->add(std::move(checkboxes));
|
||||
|
||||
handleConfirmation(ban, controller, [=](
|
||||
not_null<PeerData*> peer,
|
||||
not_null<ChannelData*> channel) {
|
||||
if (wrap->toggled()) {
|
||||
Api::ChatParticipants::Restrict(
|
||||
channel,
|
||||
peer,
|
||||
ChatRestrictionsInfo(), // Unused.
|
||||
ChatRestrictionsInfo(getRestrictions(), 0),
|
||||
nullptr,
|
||||
nullptr);
|
||||
} else {
|
||||
channel->session().api().chatParticipants().kick(
|
||||
channel,
|
||||
peer,
|
||||
{ channel->restrictions(), 0 });
|
||||
// Handle confirmation manually.
|
||||
confirms->events() | rpl::start_with_next([=] {
|
||||
if (ban->checked() && controller->collectRequests) {
|
||||
const auto kick = !wrap->toggled();
|
||||
const auto restrictions = getRestrictions();
|
||||
const auto request = [=](
|
||||
not_null<PeerData*> peer,
|
||||
not_null<ChannelData*> channel) {
|
||||
if (!kick) {
|
||||
Api::ChatParticipants::Restrict(
|
||||
channel,
|
||||
peer,
|
||||
ChatRestrictionsInfo(), // Unused.
|
||||
ChatRestrictionsInfo(restrictions, 0),
|
||||
nullptr,
|
||||
nullptr);
|
||||
} else {
|
||||
channel->session().api().chatParticipants().kick(
|
||||
channel,
|
||||
peer,
|
||||
{ channel->restrictions(), 0 });
|
||||
}
|
||||
};
|
||||
sequentiallyRequest(request, controller->collectRequests());
|
||||
}
|
||||
});
|
||||
}, ban->lifetime());
|
||||
}
|
||||
|
||||
const auto close = crl::guard(box, [=] { box->closeBox(); });
|
||||
|
|
Loading…
Add table
Reference in a new issue