From 04a8bd67984479bb548ddafa2fb6770156180db6 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Mon, 2 Mar 2026 10:07:57 +0100 Subject: [PATCH] fix: Cached provider invalidation on reload not being done correctly --- .../builtin/source/content/providers/command_provider.cpp | 3 ++- plugins/builtin/source/content/providers/gdb_provider.cpp | 3 +++ plugins/remote/source/content/providers/ssh_provider.cpp | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/builtin/source/content/providers/command_provider.cpp b/plugins/builtin/source/content/providers/command_provider.cpp index 1260ed124..b0b3d5ea2 100644 --- a/plugins/builtin/source/content/providers/command_provider.cpp +++ b/plugins/builtin/source/content/providers/command_provider.cpp @@ -243,12 +243,13 @@ namespace hex::plugin::builtin { } prv::Provider::OpenResult CommandProvider::open() { + CachedProvider::open(); m_open = true; return {}; } void CommandProvider::close() { - + CachedProvider::close(); } bool CommandProvider::drawLoadInterface() { diff --git a/plugins/builtin/source/content/providers/gdb_provider.cpp b/plugins/builtin/source/content/providers/gdb_provider.cpp index 25786efef..67f07d743 100644 --- a/plugins/builtin/source/content/providers/gdb_provider.cpp +++ b/plugins/builtin/source/content/providers/gdb_provider.cpp @@ -255,6 +255,7 @@ namespace hex::plugin::builtin { } prv::Provider::OpenResult GDBProvider::open() { + CachedProvider::open(); std::scoped_lock lock(m_mutex); CachedProvider::open(); @@ -276,6 +277,8 @@ namespace hex::plugin::builtin { CachedProvider::close(); m_socket.disconnect(); + + CachedProvider::close(); } bool GDBProvider::isConnected() const { diff --git a/plugins/remote/source/content/providers/ssh_provider.cpp b/plugins/remote/source/content/providers/ssh_provider.cpp index ed45d2f9e..de510a600 100644 --- a/plugins/remote/source/content/providers/ssh_provider.cpp +++ b/plugins/remote/source/content/providers/ssh_provider.cpp @@ -12,6 +12,8 @@ namespace hex::plugin::remote { prv::Provider::OpenResult SSHProvider::open() { + CachedProvider::open(); + if (!m_sftpClient.isConnected()) { try { if (m_authMethod == AuthMethod::Password) { @@ -47,7 +49,8 @@ namespace hex::plugin::remote { m_remoteFile->close(); m_sftpClient.disconnect(); - m_remoteFilePath.clear(); + + CachedProvider::close(); } void SSHProvider::save() {