fix: Cached provider invalidation on reload not being done correctly

This commit is contained in:
WerWolv
2026-03-02 10:07:57 +01:00
parent 0cf27b9e9e
commit 04a8bd6798
3 changed files with 9 additions and 2 deletions

View File

@@ -243,12 +243,13 @@ namespace hex::plugin::builtin {
} }
prv::Provider::OpenResult CommandProvider::open() { prv::Provider::OpenResult CommandProvider::open() {
CachedProvider::open();
m_open = true; m_open = true;
return {}; return {};
} }
void CommandProvider::close() { void CommandProvider::close() {
CachedProvider::close();
} }
bool CommandProvider::drawLoadInterface() { bool CommandProvider::drawLoadInterface() {

View File

@@ -255,6 +255,7 @@ namespace hex::plugin::builtin {
} }
prv::Provider::OpenResult GDBProvider::open() { prv::Provider::OpenResult GDBProvider::open() {
CachedProvider::open();
std::scoped_lock lock(m_mutex); std::scoped_lock lock(m_mutex);
CachedProvider::open(); CachedProvider::open();
@@ -276,6 +277,8 @@ namespace hex::plugin::builtin {
CachedProvider::close(); CachedProvider::close();
m_socket.disconnect(); m_socket.disconnect();
CachedProvider::close();
} }
bool GDBProvider::isConnected() const { bool GDBProvider::isConnected() const {

View File

@@ -12,6 +12,8 @@
namespace hex::plugin::remote { namespace hex::plugin::remote {
prv::Provider::OpenResult SSHProvider::open() { prv::Provider::OpenResult SSHProvider::open() {
CachedProvider::open();
if (!m_sftpClient.isConnected()) { if (!m_sftpClient.isConnected()) {
try { try {
if (m_authMethod == AuthMethod::Password) { if (m_authMethod == AuthMethod::Password) {
@@ -47,7 +49,8 @@ namespace hex::plugin::remote {
m_remoteFile->close(); m_remoteFile->close();
m_sftpClient.disconnect(); m_sftpClient.disconnect();
m_remoteFilePath.clear();
CachedProvider::close();
} }
void SSHProvider::save() { void SSHProvider::save() {