From af8661a249333b04a8b48ce252c81cfe9e4b2712 Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Thu, 13 Jul 2023 14:46:43 +0300 Subject: [PATCH] [IR] Fix disconnect --- src/core/services/ir_user.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/core/services/ir_user.cpp b/src/core/services/ir_user.cpp index f80a8ac9..a0fbbda5 100644 --- a/src/core/services/ir_user.cpp +++ b/src/core/services/ir_user.cpp @@ -118,6 +118,13 @@ void IRUserService::requireConnection(u32 messagePointer) { void IRUserService::disconnect(u32 messagePointer) { log("IR:USER: Disconnect\n"); + if (sharedMemory.has_value()) { + u32 sharedMemAddress = sharedMemory.value().addr; + + mem.write8(sharedMemAddress + offsetof(SharedMemoryStatus, connectionStatus), 0); + mem.write8(sharedMemAddress + offsetof(SharedMemoryStatus, isConnected), 0); + } + // If there's a connected device, disconnect it and trigger the status event if (connectedDevice) { connectedDevice = false;