X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a8ee71c7023df4a96b862c425552e1305d1300d5..2a31049201e9c1ff9f515eb9d144ae392f4b4e5a:/src/msw/thread.cpp diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp index aadfc9f070..ac600434e9 100644 --- a/src/msw/thread.cpp +++ b/src/msw/thread.cpp @@ -41,7 +41,19 @@ #define _MT #endif -#ifdef __VISUALC__ +#if defined(__VISUALC__) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)) + +#if defined(__BORLANDC__) && !defined(__MT__) +// I can't set -tWM in the IDE (anyone?) so have to do this +#define __MT__ +#endif + +#if defined(__BORLANDC__) && !defined(__MFC_COMPAT__) +// Needed to know about _beginthreadex etc.. +#define __MFC_COMPAT__ +#endif + + #include #endif @@ -442,7 +454,7 @@ bool wxThreadInternal::Create(wxThread *thread) // for compilers which have it, we should use C RTL function for thread // creation instead of Win32 API one because otherwise we will have memory // leaks if the thread uses C RTL (and most threads do) -#ifdef __VISUALC__ +#if defined(__VISUALC__) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)) typedef unsigned (__stdcall *RtlThreadStart)(void *); m_hThread = (HANDLE)_beginthreadex(NULL, 0, @@ -912,7 +924,7 @@ void wxThread::Exit(ExitCode status) delete this; } -#ifdef __VISUALC__ +#if defined(__VISUALC__) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)) _endthreadex((unsigned)status); #else // !VC++ ::ExitThread((DWORD)status);