]> git.saurik.com Git - wxWidgets.git/commitdiff
_beginthreadex() entry point should really return unsigned and not wxUIntPtr even...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 16 Jul 2008 02:49:12 +0000 (02:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 16 Jul 2008 02:49:12 +0000 (02:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/thread.cpp

index 301144ac1445c8c39d1c7bd7b9ea2fd0d68495e9..8dd5c820593035332de4b63f65e684e9e384a6fa 100644 (file)
@@ -75,8 +75,9 @@
     // this is where _beginthreadex() is declared
     #include <process.h>
 
-    // 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