Make "No" button default in the assert dialog

This makes more sense than the default default (sic) "Yes" button,
pressing which accidentally could kill the program if not running under
the debugger.
This commit is contained in:
Vadim Zeitlin
2017-10-20 02:38:14 +02:00
parent 2e3f0d95dd
commit c52ed1aff3
2 changed files with 5 additions and 2 deletions

View File

@@ -1307,7 +1307,7 @@ bool DoShowAssertDialog(const wxString& msg)
wxT("further warnings.");
switch ( ::MessageBox(NULL, msgDlg.t_str(), wxT("wxWidgets Debug Alert"),
MB_YESNOCANCEL | MB_ICONSTOP ) )
MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_ICONSTOP ) )
{
case IDYES:
// If we called wxTrap() directly from here, the programmer would

View File

@@ -485,8 +485,11 @@ bool wxGUIAppTraitsBase::ShowAssertDialog(const wxString& msg)
wxT("You can also choose [Cancel] to suppress ")
wxT("further warnings.");
// "No" button means to continue execution, so it should be the default
// action as leaving the "Yes" button the default one would mean that
// accidentally pressing Space or Enter would trap and kill the program.
switch ( wxMessageBox(msgDlg, wxT("wxWidgets Debug Alert"),
wxYES_NO | wxCANCEL | wxICON_STOP ) )
wxYES_NO | wxCANCEL | wxNO_DEFAULT | wxICON_STOP ) )
{
case wxYES:
// See the comment about using the same variable in