summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/kernel/kernel.cpp3
-rw-r--r--src/core/hle/kernel/kernel.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index a1bc6c5d8..7d40dcbee 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -44,7 +44,8 @@ ResultVal<Handle> HandleTable::Create(Object* obj) {
44 objects[slot] = obj; 44 objects[slot] = obj;
45 45
46 Handle handle = generation | (slot << 15); 46 Handle handle = generation | (slot << 15);
47 obj->handle = handle; 47 if (obj->handle == INVALID_HANDLE)
48 obj->handle = handle;
48 return MakeResult<Handle>(handle); 49 return MakeResult<Handle>(handle);
49} 50}
50 51
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 31d80c7ac..a35055724 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -52,7 +52,7 @@ class HandleTable;
52 52
53class Object : NonCopyable { 53class Object : NonCopyable {
54 friend class HandleTable; 54 friend class HandleTable;
55 u32 handle; 55 u32 handle = INVALID_HANDLE;
56public: 56public:
57 virtual ~Object() {} 57 virtual ~Object() {}
58 Handle GetHandle() const { return handle; } 58 Handle GetHandle() const { return handle; }