diff options
Diffstat (limited to 'LibOVRKernel/Src/Kernel/OVR_ThreadsWinAPI.cpp')
-rw-r--r-- | LibOVRKernel/Src/Kernel/OVR_ThreadsWinAPI.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/LibOVRKernel/Src/Kernel/OVR_ThreadsWinAPI.cpp b/LibOVRKernel/Src/Kernel/OVR_ThreadsWinAPI.cpp index 8cba464..736b734 100644 --- a/LibOVRKernel/Src/Kernel/OVR_ThreadsWinAPI.cpp +++ b/LibOVRKernel/Src/Kernel/OVR_ThreadsWinAPI.cpp @@ -920,7 +920,7 @@ DWORD WINAPI Thread_Win32StartFn(void *phandle) // Ensure that ThreadId is assigned once thread is running, in case // beginthread hasn't filled it in yet. - pthread->IdValue = (ThreadId)::GetCurrentThreadId(); + pthread->IdValue = (ThreadId)(intptr_t)::GetCurrentThreadId(); // should be: typedef intptr_t ThreadId; DWORD result = pthread->PRun(); // Signal the thread as done and release it atomically. @@ -1079,7 +1079,8 @@ void Thread::SetThreadName( const char* name ) void Thread::SetThreadName(const char* name, ThreadId threadId) { - #if !defined(OVR_BUILD_SHIPPING) || defined(OVR_BUILD_PROFILING) + // MinGW does not support SEH exceptions, hence CPP: && defined(OVR_CC_MSVC) + #if ( !defined(OVR_BUILD_SHIPPING) || defined(OVR_BUILD_PROFILING) ) && defined(OVR_CC_MSVC) // http://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx #pragma pack(push,8) struct THREADNAME_INFO { @@ -1106,7 +1107,7 @@ void Thread::SetThreadName(const char* name, ThreadId threadId) void Thread::SetCurrentThreadName( const char* name ) { - SetThreadName(name, (ThreadId)::GetCurrentThreadId()); + SetThreadName(name, (ThreadId)(intptr_t)::GetCurrentThreadId()); // should be: typedef intptr_t ThreadId; } @@ -1142,7 +1143,7 @@ int Thread::GetCPUCount() // comparison purposes. ThreadId GetCurrentThreadId() { - return (ThreadId)::GetCurrentThreadId(); + return (ThreadId)(intptr_t)::GetCurrentThreadId(); // should be: typedef intptr_t ThreadId; } } // OVR |