From 788bebb160e0f6002a225eac365252a493a92f77 Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 6 Apr 2022 17:41:11 -0700 Subject: hle: kernel: k_auto_object: Move unregister with kernel to after Destroy. - Destructor is no longer invoked, so our object counting was off. --- src/core/hle/kernel/k_auto_object.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/core/hle/kernel/k_auto_object.h') diff --git a/src/core/hle/kernel/k_auto_object.h b/src/core/hle/kernel/k_auto_object.h index 05779f2d5..c097373a8 100644 --- a/src/core/hle/kernel/k_auto_object.h +++ b/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(); } } -- cgit v1.2.3