summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-10-29 15:41:31 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-10-29 15:41:31 (GMT)
commitb0e3a2def0c20f20e4cbcf0ff03017777dc1a896 (patch)
treef9a49e971fc787ba7ba5e02ba950046ab4390731
parent539318f5875de0c0d0e008f820a3bd721d322f09 (diff)
downloadCMake-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.cxx4
-rw-r--r--Source/MFCDialog/CMakeSetupDialog.cpp12
-rw-r--r--Source/cmSystemTools.cxx11
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;
+
}