ENH: use callback not ifdef for MFC message box errors
This commit is contained in:
parent
539318f587
commit
b0e3a2def0
|
@ -17,9 +17,9 @@ void FLTKMessageCallback(const char* message, const char* title, bool& nomore)
|
|||
int ok =
|
||||
fl_ask(message, "Press cancel to suppress any further messages.");
|
||||
if(!ok)
|
||||
{
|
||||
{
|
||||
nomore = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -61,6 +61,17 @@ BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
|
|||
END_MESSAGE_MAP();
|
||||
|
||||
|
||||
void MFCMessageCallback(const char* m, const char* title, bool& nomore)
|
||||
{
|
||||
std::string message = m;
|
||||
message += "\n\n(Press Cancel to suppress any further messages.)";
|
||||
if(::MessageBox(0, message.c_str(), title,
|
||||
MB_OKCANCEL) == IDCANCEL)
|
||||
{
|
||||
nomore = true;
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CMakeSetupDialog dialog
|
||||
|
||||
|
@ -68,6 +79,7 @@ CMakeSetupDialog::CMakeSetupDialog(const CMakeCommandLineInfo& cmdInfo,
|
|||
CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CMakeSetupDialog::IDD, pParent)
|
||||
{
|
||||
cmSystemTools::SetErrorCallback(MFCMessageCallback);
|
||||
m_RegistryKey = "Software\\Kitware\\CMakeSetup\\Settings\\StartPath";
|
||||
|
||||
//{{AFX_DATA_INIT(CMakeSetupDialog)
|
||||
|
|
|
@ -709,16 +709,11 @@ void cmSystemTools::Message(const char* m1, const char *title)
|
|||
(*s_ErrorCallback)(m1, title, disableMessages);
|
||||
return;
|
||||
}
|
||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||
std::string message = m1;
|
||||
message += "\n\n(Press Cancel to suppress any further messages.)";
|
||||
if(::MessageBox(0, message.c_str(), title,
|
||||
MB_OKCANCEL) == IDCANCEL)
|
||||
else
|
||||
{
|
||||
disableMessages = true;
|
||||
std::cerr << m1 << std::endl;
|
||||
}
|
||||
#endif
|
||||
std::cerr << m1 << std::endl;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue