aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-12-31 17:23:36 -0500
committerbunnei <bunneidev@gmail.com>2017-12-31 17:23:36 -0500
commit1cb978eb82253d6869d1c3729e976a98fb5a7a9c (patch)
tree8e1045990a52e489b6e7441aca8c68893959d6e7 /src/core/hle/kernel/thread.cpp
parent45debfe4fd11556d54793032fa22fbc10ecdfc50 (diff)
thread: Keep track of the initially created handle.
This is kinda crufty, but we need it for now to update guest state variables.
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r--src/core/hle/kernel/thread.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index b20092761d..1588cfc7ed 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -502,7 +502,8 @@ SharedPtr<Thread> SetupMainThread(VAddr entry_point, u32 priority,
SharedPtr<Thread> thread = std::move(thread_res).Unwrap();
// Register 1 must be a handle to the main thread
- thread->context.cpu_registers[1] = Kernel::g_handle_table.Create(thread).Unwrap();
+ thread->guest_handle = Kernel::g_handle_table.Create(thread).Unwrap();;
+ thread->context.cpu_registers[1] = thread->guest_handle;
thread->context.fpscr =
FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO | FPSCR_IXC; // 0x03C00010