diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2001-10-29 15:41:31 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2001-10-29 15:41:31 (GMT) |
commit | b0e3a2def0c20f20e4cbcf0ff03017777dc1a896 (patch) | |
tree | f9a49e971fc787ba7ba5e02ba950046ab4390731 | |
parent | 539318f5875de0c0d0e008f820a3bd721d322f09 (diff) | |
download | CMake-b0e3a2def0c20f20e4cbcf0ff03017777dc1a896.zip CMake-b0e3a2def0c20f20e4cbcf0ff03017777dc1a896.tar.gz CMake-b0e3a2def0c20f20e4cbcf0ff03017777dc1a896.tar.bz2 |
ENH: use callback not ifdef for MFC message box errors
-rw-r--r-- | Source/FLTKDialog/CMakeSetupGUIImplementation.cxx | 4 | ||||
-rw-r--r-- | Source/MFCDialog/CMakeSetupDialog.cpp | 12 | ||||
-rw-r--r-- | Source/cmSystemTools.cxx | 11 |
3 files changed, 17 insertions, 10 deletions
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx index dd02b56..6fb3f99 100644 --- a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx +++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx @@ -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; - } + } } /** diff --git a/Source/MFCDialog/CMakeSetupDialog.cpp b/Source/MFCDialog/CMakeSetupDialog.cpp index 3f1fb8f..11da2ca 100644 --- a/Source/MFCDialog/CMakeSetupDialog.cpp +++ b/Source/MFCDialog/CMakeSetupDialog.cpp @@ -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) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 577c8f0..a99c5ef 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -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; + } |