mirror of https://github.com/procxx/kepka.git
Check weak pointer in AddParticipantBoxController.
This may fix some crashes.
This commit is contained in:
parent
6d3a6d20b5
commit
e1709c11da
|
@ -633,7 +633,11 @@ void AddParticipantBoxController::editAdmin(gsl::not_null<UserData*> user, bool
|
||||||
if (_channel->canAddMembers()) {
|
if (_channel->canAddMembers()) {
|
||||||
if (_channel->canBanMembers()) {
|
if (_channel->canBanMembers()) {
|
||||||
if (!sure) {
|
if (!sure) {
|
||||||
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_add_admin_unban), [weak, user] { weak->editAdmin(user, true); }), KeepOtherLayers);
|
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_add_admin_unban), [weak, user] {
|
||||||
|
if (weak) {
|
||||||
|
weak->editAdmin(user, true);
|
||||||
|
}
|
||||||
|
}), KeepOtherLayers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -648,7 +652,11 @@ void AddParticipantBoxController::editAdmin(gsl::not_null<UserData*> user, bool
|
||||||
// The user is restricted.
|
// The user is restricted.
|
||||||
if (_channel->canBanMembers()) {
|
if (_channel->canBanMembers()) {
|
||||||
if (!sure) {
|
if (!sure) {
|
||||||
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_add_admin_unban), [weak, user] { weak->editAdmin(user, true); }), KeepOtherLayers);
|
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_add_admin_unban), [weak, user] {
|
||||||
|
if (weak) {
|
||||||
|
weak->editAdmin(user, true);
|
||||||
|
}
|
||||||
|
}), KeepOtherLayers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -659,7 +667,11 @@ void AddParticipantBoxController::editAdmin(gsl::not_null<UserData*> user, bool
|
||||||
// The user is not in the group yet.
|
// The user is not in the group yet.
|
||||||
if (_channel->canAddMembers()) {
|
if (_channel->canAddMembers()) {
|
||||||
if (!sure) {
|
if (!sure) {
|
||||||
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_add_admin_invite), [weak, user] { weak->editAdmin(user, true); }), KeepOtherLayers);
|
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_add_admin_invite), [weak, user] {
|
||||||
|
if (weak) {
|
||||||
|
weak->editAdmin(user, true);
|
||||||
|
}
|
||||||
|
}), KeepOtherLayers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -733,7 +745,11 @@ void AddParticipantBoxController::editRestricted(gsl::not_null<UserData*> user,
|
||||||
if (_additional.adminCanEdit.find(user) != _additional.adminCanEdit.end()) {
|
if (_additional.adminCanEdit.find(user) != _additional.adminCanEdit.end()) {
|
||||||
hasAdminRights = true;
|
hasAdminRights = true;
|
||||||
if (!sure) {
|
if (!sure) {
|
||||||
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_ban_admin), [weak, user] { weak->editRestricted(user, true); }), KeepOtherLayers);
|
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_ban_admin), [weak, user] {
|
||||||
|
if (weak) {
|
||||||
|
weak->editRestricted(user, true);
|
||||||
|
}
|
||||||
|
}), KeepOtherLayers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -793,7 +809,11 @@ void AddParticipantBoxController::kickUser(gsl::not_null<UserData*> user, bool s
|
||||||
// The user is an admin or creator.
|
// The user is an admin or creator.
|
||||||
if (_additional.adminCanEdit.find(user) != _additional.adminCanEdit.end()) {
|
if (_additional.adminCanEdit.find(user) != _additional.adminCanEdit.end()) {
|
||||||
if (!sure) {
|
if (!sure) {
|
||||||
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_ban_admin), [weak, user] { weak->kickUser(user, true); }), KeepOtherLayers);
|
_editBox = Ui::show(Box<ConfirmBox>(lang(lng_sure_ban_admin), [weak, user] {
|
||||||
|
if (weak) {
|
||||||
|
weak->kickUser(user, true);
|
||||||
|
}
|
||||||
|
}), KeepOtherLayers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -805,7 +825,11 @@ void AddParticipantBoxController::kickUser(gsl::not_null<UserData*> user, bool s
|
||||||
// Finally kick him.
|
// Finally kick him.
|
||||||
if (!sure) {
|
if (!sure) {
|
||||||
auto text = lng_sure_ban_user_group(lt_user, App::peerName(user));
|
auto text = lng_sure_ban_user_group(lt_user, App::peerName(user));
|
||||||
_editBox = Ui::show(Box<ConfirmBox>(text, [weak, user] { weak->kickUser(user, true); }), KeepOtherLayers);
|
_editBox = Ui::show(Box<ConfirmBox>(text, [weak, user] {
|
||||||
|
if (weak) {
|
||||||
|
weak->kickUser(user, true);
|
||||||
|
}
|
||||||
|
}), KeepOtherLayers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
restrictUserSure(user, ChannelData::KickedRestrictedRights());
|
restrictUserSure(user, ChannelData::KickedRestrictedRights());
|
||||||
|
|
Loading…
Reference in New Issue