X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/96d38c7e0df2138cff3505dbba7d93111254ba5f..713d1441451812a290a4285c7aa2bf1fb020ea6e:/src/common/appbase.cpp?ds=sidebyside diff --git a/src/common/appbase.cpp b/src/common/appbase.cpp index 0892aab62d..663e7ea670 100644 --- a/src/common/appbase.cpp +++ b/src/common/appbase.cpp @@ -57,11 +57,8 @@ #endif #if defined(__WXMAC__) - // VZ: MacTypes.h is enough under Mac OS X (where I could test it) but - // I don't know which headers are needed under earlier systems so - // include everything when in doubt #ifdef __DARWIN__ - #include "MacTypes.h" + #include #else #include "wx/mac/private.h" // includes mac headers #endif @@ -76,6 +73,13 @@ #endif // wxUSE_STACKWALKER #endif // __WXDEBUG__ +// wxABI_VERSION can be defined when compiling applications but it should be +// left undefined when compiling the library itself, it is then set to its +// default value in version.h +#if wxABI_VERSION != wxMAJOR_VERSION * 10000 + wxMINOR_VERSION * 100 + 99 +#error "wxABI_VERSION should not be defined when compiling the library" +#endif + // ---------------------------------------------------------------------------- // private functions prototypes // ---------------------------------------------------------------------------- @@ -140,11 +144,11 @@ wxAppConsole::~wxAppConsole() // initilization/cleanup // ---------------------------------------------------------------------------- -bool wxAppConsole::Initialize(int& argc, wxChar **argv) +bool wxAppConsole::Initialize(int& argcOrig, wxChar **argvOrig) { // remember the command line arguments - this->argc = argc; - this->argv = argv; + argc = argcOrig; + argv = argvOrig; #ifndef __WXPALMOS__ if ( m_appName.empty() && argv ) @@ -203,10 +207,6 @@ int wxAppConsole::OnExit() delete wxConfigBase::Set((wxConfigBase *) NULL); #endif // wxUSE_CONFIG - // use Set(NULL) and not Get() to avoid creating a message output object on - // demand when we just want to delete it - delete wxMessageOutput::Set(NULL); - return 0; } @@ -707,12 +707,6 @@ static wxString GetAssertStackTrace() { wxString stackTrace; -#if wxUSE_DBGHELP - // check that we can get the stack trace before trying to do it - if ( !wxDbgHelpDLL::Init() ) - return stackTrace; -#endif - class StackDump : public wxStackWalker { public: @@ -723,7 +717,11 @@ static wxString GetAssertStackTrace() protected: virtual void OnStackFrame(const wxStackFrame& frame) { - m_stackTrace << wxString::Format(_T("[%02d] "), frame.GetLevel()); + m_stackTrace << wxString::Format + ( + _T("[%02d] "), + wx_truncate_cast(int, frame.GetLevel()) + ); wxString name = frame.GetName(); if ( !name.empty() ) @@ -732,11 +730,7 @@ static wxString GetAssertStackTrace() } else { - m_stackTrace << wxString::Format - ( - _T("0x%08lx"), - (unsigned long)frame.GetAddress() - ); + m_stackTrace << wxString::Format(_T("%p"), frame.GetAddress()); } if ( frame.HasSourceLocation() )