Просмотр исходного кода

kernel/mutex: Amend behavior of TransferMutexOwnership()

This was the result of a typo accidentally introduced in
e51d715700a35a8f14e5b804b6f7553c9a40888b. This restores the previous
correct behavior.

The behavior with the reference was incorrect and would cause some games
to fail to boot.
Lioncash 7 лет назад
Родитель
Сommit
6ddf8f34db
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/core/hle/kernel/mutex.cpp

+ 1 - 1
src/core/hle/kernel/mutex.cpp

@@ -47,7 +47,7 @@ static std::pair<SharedPtr<Thread>, u32> GetHighestPriorityMutexWaitingThread(
 /// Update the mutex owner field of all threads waiting on the mutex to point to the new owner.
 /// Update the mutex owner field of all threads waiting on the mutex to point to the new owner.
 static void TransferMutexOwnership(VAddr mutex_addr, SharedPtr<Thread> current_thread,
 static void TransferMutexOwnership(VAddr mutex_addr, SharedPtr<Thread> current_thread,
                                    SharedPtr<Thread> new_owner) {
                                    SharedPtr<Thread> new_owner) {
-    const auto& threads = current_thread->GetMutexWaitingThreads();
+    const auto threads = current_thread->GetMutexWaitingThreads();
     for (const auto& thread : threads) {
     for (const auto& thread : threads) {
         if (thread->GetMutexWaitAddress() != mutex_addr)
         if (thread->GetMutexWaitAddress() != mutex_addr)
             continue;
             continue;