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

hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.

- Destructor is no longer invoked, so our object counting was off.
bunnei 4 лет назад
Родитель
Сommit
788bebb160
1 измененных файлов с 2 добавлено и 3 удалено
  1. 2 3
      src/core/hle/kernel/k_auto_object.h

+ 2 - 3
src/core/hle/kernel/k_auto_object.h

@@ -89,9 +89,7 @@ public:
     explicit KAutoObject(KernelCore& kernel_) : kernel(kernel_) {
         RegisterWithKernel();
     }
-    virtual ~KAutoObject() {
-        UnregisterWithKernel();
-    }
+    virtual ~KAutoObject() = default;
 
     static KAutoObject* Create(KAutoObject* ptr);
 
@@ -168,6 +166,7 @@ public:
         // If ref count hits zero, destroy the object.
         if (cur_ref_count - 1 == 0) {
             this->Destroy();
+            this->UnregisterWithKernel();
         }
     }