ExCreateThread: Flag 0x80 indicates we should return the thread pointer, not handle.

This commit is contained in:
Dr. Chat 2015-10-31 10:28:53 -05:00
parent e0b3d24a50
commit 4d22c21688
1 changed files with 5 additions and 1 deletions

View File

@ -139,7 +139,11 @@ SHIM_CALL ExCreateThread_shim(PPCContext* ppc_context,
if (XSUCCEEDED(result)) { if (XSUCCEEDED(result)) {
if (handle_ptr) { if (handle_ptr) {
SHIM_SET_MEM_32(handle_ptr, thread->handle()); if (creation_flags & 0x80) {
SHIM_SET_MEM_32(handle_ptr, thread->guest_object());
} else {
SHIM_SET_MEM_32(handle_ptr, thread->handle());
}
} }
if (thread_id_ptr) { if (thread_id_ptr) {
SHIM_SET_MEM_32(thread_id_ptr, thread->thread_id()); SHIM_SET_MEM_32(thread_id_ptr, thread->thread_id());