From 2b232d202ae5e2d2b375aa5dde006720f284386b Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 22 May 2007 01:36:24 +0000 Subject: [PATCH] added wOnAssert(..., wxCStrData) overload to fix compilation of code using wxASSERT(s.c_str()) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/debug.h | 16 +++++++++++++--- src/common/appbase.cpp | 9 +++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/include/wx/debug.h b/include/wx/debug.h index 69d0b1eb81..b5854654c3 100644 --- a/include/wx/debug.h +++ b/include/wx/debug.h @@ -92,7 +92,7 @@ /* This function is called whenever one of debugging macros fails (i.e. condition is false in an assertion). To customize its behaviour, override - wxApp::OnAssert(). + wxApp::OnAssertFailure(). Parameters: szFile and nLine - file name and line number of the ASSERT @@ -101,7 +101,7 @@ szMsg - optional message explaining the reason */ - /* this version is for compatibility with wx 2.8: */ + /* this version is for compatibility with wx 2.8 Unicode build only: */ extern void WXDLLIMPEXP_BASE wxOnAssert(const wxChar *szFile, int nLine, const char *szFunc, @@ -132,7 +132,11 @@ #endif // wxUSE_UNICODE class WXDLLIMPEXP_BASE wxString; - /* these two work when szMsg passed to debug macro is a string: */ + class WXDLLIMPEXP_BASE wxCStrData; + + /* these two work when szMsg passed to debug macro is a string, + we also have to provide wxCStrData overload to resolve ambiguity + which would otherwise arise from wxASSERT( s.c_str() ): */ extern void WXDLLIMPEXP_BASE wxOnAssert(const wxString& szFile, int nLine, const wxString& szFunc, @@ -144,6 +148,12 @@ const wxString& szFunc, const wxString& szCond); + extern void WXDLLIMPEXP_BASE wxOnAssert(const char *szFile, + int nLine, + const char *szFunc, + const char *szCond, + const wxCStrData& msg); + extern void WXDLLIMPEXP_BASE wxOnAssert(const char *szFile, int nLine, const char *szFunc, diff --git a/src/common/appbase.cpp b/src/common/appbase.cpp index 9a4389dd05..aeeb572a1b 100644 --- a/src/common/appbase.cpp +++ b/src/common/appbase.cpp @@ -853,6 +853,15 @@ void wxOnAssert(const char *szFile, wxDoOnAssert(szFile, nLine, szFunc, szCond, szMsg); } +void wxOnAssert(const char *szFile, + int nLine, + const char *szFunc, + const char *szCond, + const wxCStrData& msg) +{ + wxDoOnAssert(szFile, nLine, szFunc, szCond, msg); +} + #if wxUSE_UNICODE void wxOnAssert(const char *szFile, int nLine,