fix: crash when dialog.showMessageBoxSync
with missing buttons (#40996)
* fix: crash when dialog.showMessageBoxSync missing buttons * chore: feedback from review
This commit is contained in:
parent
df7f07a8af
commit
7e6fb97a2f
2 changed files with 25 additions and 8 deletions
|
@ -76,15 +76,16 @@ NSAlert* CreateNSAlert(const MessageBoxSettings& settings) {
|
|||
[[ns_buttons objectAtIndex:settings.default_id] setKeyEquivalent:@"\r"];
|
||||
}
|
||||
|
||||
// Bind cancel id button to escape key if there is more than one button
|
||||
if (button_count > 1 && settings.cancel_id >= 0 &&
|
||||
settings.cancel_id < button_count) {
|
||||
[[ns_buttons objectAtIndex:settings.cancel_id] setKeyEquivalent:@"\e"];
|
||||
}
|
||||
if (button_count > 1 && settings.cancel_id >= 0) {
|
||||
// Bind cancel id button to escape key if there is more than one button.
|
||||
if (settings.cancel_id < button_count) {
|
||||
[[ns_buttons objectAtIndex:settings.cancel_id] setKeyEquivalent:@"\e"];
|
||||
}
|
||||
|
||||
// TODO(@codebytere): This behavior violates HIG & should be deprecated.
|
||||
if (settings.cancel_id >= 0 && settings.cancel_id == settings.default_id) {
|
||||
[[ns_buttons objectAtIndex:settings.default_id] highlight:YES];
|
||||
// TODO(@codebytere): This behavior violates HIG & should be deprecated.
|
||||
if (settings.cancel_id == settings.default_id) {
|
||||
[[ns_buttons objectAtIndex:settings.default_id] highlight:YES];
|
||||
}
|
||||
}
|
||||
|
||||
if (!settings.checkbox_label.empty()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue