diff --git a/include/wx/init.h b/include/wx/init.h index 8ceae027c8..1956262474 100644 --- a/include/wx/init.h +++ b/include/wx/init.h @@ -62,6 +62,9 @@ extern int WXDLLIMPEXP_BASE wxEntry(int& argc, char **argv); // initialize the library (may be called as many times as needed, but each // call to wxInitialize() must be matched by wxUninitialize()) extern bool WXDLLIMPEXP_BASE wxInitialize(int argc = 0, wxChar **argv = NULL); +#if wxUSE_UNICODE && wxABI_VERSION >= 20811 +extern bool WXDLLIMPEXP_BASE wxInitialize(int argc = 0, char **argv = NULL); +#endif // clean up -- the library can't be used any more after the last call to // wxUninitialize() @@ -78,6 +81,13 @@ public: m_ok = wxInitialize(argc, argv); } +#if wxUSE_UNICODE && wxABI_VERSION >= 20811 + wxInitializer(int argc = 0, char **argv = NULL) + { + m_ok = wxInitialize(argc, argv); + } +#endif // wxUSE_UNICODE + // has the initialization been successful? (explicit test) bool IsOk() const { return m_ok; } diff --git a/src/common/init.cpp b/src/common/init.cpp index 31434c2bd4..69757286aa 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -479,6 +479,21 @@ bool wxInitialize(int argc, wxChar **argv) return wxEntryStart(argc, argv); } +#if wxUSE_UNICODE +bool wxInitialize(int argc, char **argv) +{ + wxCRIT_SECT_LOCKER(lockInit, gs_initData.csInit); + + if ( gs_initData.nInitCount++ ) + { + // already initialized + return true; + } + + return wxEntryStart(argc, argv); +} +#endif // wxUSE_UNICODE + void wxUninitialize() { wxCRIT_SECT_LOCKER(lockInit, gs_initData.csInit);