#include <stdlib.h>
#include <time.h>
-#ifdef __WXMSW__
+#if defined(__WXMSW__)
#include "wx/msw/private.h" // includes windows.h for OutputDebugString
-#else //Unix
+#endif
+
+#if !defined(__WXMSW__) || defined(__WXMICROWIN__)
#include <signal.h>
#endif //Win/Unix
// under Windows, programs usually don't have stderr at all, so show the
// messages also under debugger - unless it's a console program
-#if defined(__WXMSW__) && wxUSE_GUI
+#if defined(__WXMSW__) && wxUSE_GUI && !defined(__WXMICROWIN__)
str += wxT("\r\n") ;
OutputDebugString(str.c_str());
#endif // MSW
// ----------------------------------------------------------------------------
#if wxUSE_STD_IOSTREAM
-wxLogStream::wxLogStream(ostream *ostr)
+wxLogStream::wxLogStream(wxSTD ostream *ostr)
{
if ( ostr == NULL )
- m_ostr = &cerr;
+ m_ostr = &wxSTD cerr;
else
m_ostr = ostr;
}
{
wxString str;
TimeStamp(&str);
- (*m_ostr) << str << wxConvertWX2MB(szString) << endl;
+ (*m_ostr) << str << wxConvertWX2MB(szString) << wxSTD endl;
}
#endif // wxUSE_STD_IOSTREAM
// get error code from syste
unsigned long wxSysErrorCode()
{
-#ifdef __WXMSW__
+#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
#ifdef __WIN32__
return ::GetLastError();
#else //WIN16
if ( nErrCode == 0 )
nErrCode = wxSysErrorCode();
-#ifdef __WXMSW__
+#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
#ifdef __WIN32__
static wxChar s_szBuf[LOG_BUFFER_SIZE / 2];
#ifdef __WXDEBUG__
+// wxASSERT() helper
+bool wxAssertIsEqual(int x, int y)
+{
+ return x == y;
+}
+
// break into the debugger
-void Trap()
+void wxTrap()
{
-#ifdef __WXMSW__
+#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
DebugBreak();
#elif defined(__WXMAC__)
#if __powerc
if ( s_bInAssert ) {
// He-e-e-e-elp!! we're trapped in endless loop
- Trap();
+ wxTrap();
s_bInAssert = FALSE;
// send it to the normal log destination
wxLogDebug(szBuf);
-#if wxUSE_GUI || defined(__WXMSW__)
+#if (wxUSE_GUI && wxUSE_MSGDLG) || defined(__WXMSW__)
// this message is intentionally not translated - it is for
// developpers only
wxStrcat(szBuf, wxT("\nDo you want to stop the program?\nYou can also choose [Cancel] to suppress further warnings."));
// use the native message box if available: this is more robust than
// using our own
-#ifdef __WXMSW__
+#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
switch ( ::MessageBox(NULL, szBuf, _T("Debug"),
MB_YESNOCANCEL | MB_ICONSTOP ) ) {
case IDYES:
- Trap();
+ wxTrap();
break;
case IDCANCEL:
switch ( wxMessageBox(szBuf, wxT("Debug"),
wxYES_NO | wxCANCEL | wxICON_STOP ) ) {
case wxYES:
- Trap();
+ wxTrap();
break;
case wxCANCEL:
#endif // GUI or MSW
#else // !GUI
- Trap();
+ wxTrap();
#endif // GUI/!GUI
}