Browse Source

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

- Destructor is no longer invoked, so our object counting was off.
nce_cpp
bunnei 4 years ago
parent
commit
45da07576f
  1. 5
      src/core/hle/kernel/k_auto_object.h

5
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();
}
}

Loading…
Cancel
Save