From d79c9c67919f4428a8be5ffd6f5eba7dba35daa2 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 16 Jul 2008 02:49:12 +0000 Subject: [PATCH] _beginthreadex() entry point should really return unsigned and not wxUIntPtr even if this means that it's impossible to return pointers from wxThread::Entry() under Win64 (#9727) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/thread.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp index 301144ac14..8dd5c82059 100644 --- a/src/msw/thread.cpp +++ b/src/msw/thread.cpp @@ -75,8 +75,9 @@ // this is where _beginthreadex() is declared #include - // the return type of the thread function entry point - typedef wxUIntPtr THREAD_RETVAL; + // the return type of the thread function entry point: notice that this + // type can't hold a pointer under Win64 + typedef unsigned THREAD_RETVAL; // the calling convention of the thread function entry point #define THREAD_CALLCONV __stdcall @@ -528,7 +529,7 @@ THREAD_RETVAL wxThreadInternal::DoThreadStart(wxThread *thread) return THREAD_ERROR_EXIT; } - rc = (THREAD_RETVAL)thread->Entry(); + rc = wxPtrToUInt(thread->Entry()); } wxCATCH_ALL( wxTheApp->OnUnhandledException(); ) @@ -1092,7 +1093,7 @@ wxThreadError wxThread::Resume() wxThread::ExitCode wxThread::Wait() { - ExitCode rc = (ExitCode)THREAD_ERROR_EXIT; + ExitCode rc = wxUIntToPtr(THREAD_ERROR_EXIT); // although under Windows we can wait for any thread, it's an error to // wait for a detached one in wxWin API -- 2.45.2